UI自动化测试环境搭建 Python+Selenium+RobotFramework

UI自动化测试环境准备&RF框架的机制

一.流程与模块介绍

web自动化测试主要有四个部分组成,分别是数据源、自动化脚本、驱动程序、浏览器四个部分。数据源指的就是前端web页面数据的来源,MYSQL或者Oracle中存储的数据;自动化脚本指Python脚本用来操作前面界面元素,达到指定业务动作的脚本;驱动程序是指对应浏览器的驱动,自动化脚本中通过驱动程序的实例对象来操作界面元素;浏览器对应驱动程序,比如谷歌浏览器只能用谷歌浏览器的驱动。

UI自动化测试环境搭建 Python+Selenium+RobotFramework_第1张图片

自动化脚本的构成如下,包括python的三方库,自定义的函数和Robot脚本。

UI自动化测试环境搭建 Python+Selenium+RobotFramework_第2张图片

了解了流程之后,接下来我们进行环境的配置。

 二.Python下载与安装及环境变量配置

首先是下载python,下面有官方下载地址,找到download下载对应电脑版本的python版本。

 官方下载地址:Welcome to Python.org

 UI自动化测试环境搭建 Python+Selenium+RobotFramework_第3张图片

UI自动化测试环境搭建 Python+Selenium+RobotFramework_第4张图片

下载完Python之后需要配置环境变量,程序和可执行文件可以在许多目录,而这些路径很可能不在操作系统提供可执行文件的搜索路径中。path(路径)存储在环境变量中,这是由操作系统维护的一个命名的字符串。这些变量包含可用的命令行解释器和其他程序的信息。Unix或Windows中路径变量为PATH(UNIX区分大小写,Windows不区分大小写。

在环境变量中添加Python目录,两种配置环境变量的方式:

1、在命令提示框中(cmd) WIN+R打开命令窗口,根据安装路径输入以下命令然后执行

path=%path%;C:\Python   ##C:\Python是安装路径,根据需要修改

2、也可以通过以下方式设置:

  • 右键点击"计算机",然后点击"属性"
  • 然后点击"高级系统设置"
  • 选择"系统变量"窗口下面的"Path",双击即可
  • 然后在"Path"行,添加python安装路径即可(我的D:\Python32),所以在后面,添加该路径即可。 ps:记住,路径直接用分号";"隔开!
  • 最后设置成功以后,在cmd命令行,输入命令"python",就可以有相关显示。

UI自动化测试环境搭建 Python+Selenium+RobotFramework_第5张图片

安装完python之后,做自动化我们需要安装对应的库,python有很多拓展库用来完成对应的业务,比如这里我们需要安装selenium,通常用来做页面自动化操作页面元素,里面封装了很多操纵元素的方法,且需要安装对应的数据库包和我们的框架 robotframework。 参考如下,一般我们用pip指令安装python内置库。

在命令提示框中(cmd) WIN+R打开命令窗口,挨个执行以下指令自动安装:

pip install selenium

pip install robotframework

pip install --upgrade robotframework-seleniumlibrary

pip install cx_Oracle

三、Java JDK下载安装与配置环境变量

下面是官方下载JDK地址,按照自己电脑的版本下载,然后配置对应的环境变量;下载之后,点下一步下一步安装,注意老版本会选两次路径,第一次为jdk,第二次为jre,其实jdk中已经包含jre,所以第二次选择时可以取消。

官方下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

下载安装选择安装路径完成后,需要配置环境变量

配置方法如下:我的电脑—》右击—》属性—》高级系统设置—》高级—》环境变量—》用户变量和系统变量,下面配置中有PATH路径,注意前面我们已经加了Python的环境变量,这里新增java的path环境变量时直接编辑原来的PATH,在最后面加分号后继续添加java的path路径

具体配置如下:

JAVA_HOME: jdk目录                           [C:\Program Files\Java\jdk1.8.0_181]

PATH: jdk目录\bin                                  [%JAVA_HOME%\bin;]

CLASSPATH .;jdk目录\jre\lib\rt.jar         [.;%JAVA_HOME%\jre\lib\rt.jar;]

UI自动化测试环境搭建 Python+Selenium+RobotFramework_第6张图片

 UI自动化测试环境搭建 Python+Selenium+RobotFramework_第7张图片

 环境变量配置完成后,键盘输入 WIN+R 打开命令窗口执行下面指令检查配置结果,指令执行成功看到版本号即成功。

  • javac 编译

  • java 解释执行

  • java -version

UI自动化测试环境搭建 Python+Selenium+RobotFramework_第8张图片

四、安装对应的第三方库

 在熟悉基本的python语法之后,我们会了解到,python有很多的第三方库,其中封装了大量便于我们使用的函数方法,我们导入对应的库之后很多函数可以通过对象直接使用,下面介绍我们这里需要常用到的几个第三方库。Python安装第三方库的指令,我们可以使用pip安装,直接在命令窗口执行就可以安装了。

1. pip install selenium

selenium库这里是用来控制web端页面元素的第三方库,我们常用web 自动化测试也一般使用这个库。selenium的学习笔者这里附上之前自己学习时觉得比较不错的大神文档链接以供参考。

Selenium WebDriver(一) - 简书

2. pip install robotframework

 robotframework库是我们这里使用到的自动化测试框架,Robot Framework是一个基于Python的,可扩展的关键字驱动的测试自动化框架,用于端到端验收测试和验收测试驱动开发(ATDD)。它可用于测试分布式异构应用程序,其中验证需要涉及多种技术和接口。我们后面简称‘RF’,它支持表格化编辑测试用例等等,这里也附上大神文档参考。

Robot Framework官方教程(一)入门 - 简书

3. pip install robotframework-seleniumlibrary

Selenium2Library这个库文件,在测试脚本中大多数robot常用的功能都包含在里边。它定义了很多常用的属性和事件,像鼠标单击、文本框输入等等都做好了封装。参考文档

Selenium2Library库文件的使用和简析_Cherie-CSDN博客

4、pip install cx_Oracle

pip install robotframework-databaseslibrary

pip install PyMysql

cx_Oracle这个库是用来连接Oracle数据库的,我们可以通过创建Oracle数据库对象连接来操纵数据库。PyMysql 用来连接MYSQL数据库,robotframework-databaseslibrary是Robot框架的数据源库,它能兼容MySQL、Oracle、sql server、DB2、sqlite3等等数据库。

cx_Oracle使用参考:

​​​​​​cx_Oracle使用方法_qq13674852的博客-CSDN博客_cx_oracle

PyMysql 使用参考:

Python3 MySQL 数据库连接 – PyMySQL 驱动 | 菜鸟教程

databaseslibrary 使用参考:

Robotframework使用DatabaseLibrary连接mysql数据库_与君共勉-CSDN博客

5. pip install paramiko

Paramiko属于第三方库,paramiko是Python的一个库,实现了SSHv2协议(底层使cryptography), ssh是一个协议,OpenSSH是其中一个开源实现。有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作. 参考大神文档。

​​​​​​Python模块学习 - Paramiko - 一只小小的寄居蟹 - 博客园

6.  pip install wxPython

 wxPython 是python当中居中的一个GUI图形化编程,参考文档如下:

python GUI图形化编程-----wxpython - 苦逼工程师 - 博客园

7. pip install JayDeBeApi

JayDeBeApi是一个python模块,可是通过它来使用java的JDBC来连接数据库。JayDeBeApi这个库,由于visualcppbuildtools_full这个软件太难装好,所以可以把本地python中 Lib\site-packages 目录下的如下目录及文件打个包,发到搭新环境的机器上,解压到新环境的机器上python 的Lib\site-packages 目录下

UI自动化测试环境搭建 Python+Selenium+RobotFramework_第9张图片

 8.其他库的安装请按需安装,后面直接简述功能和参考各大博客的文档,不多赘述

pip install selenium
pip install robotframework
pip install --upgrade robotframework-seleniumlibrary
pip install cx_Oracle
pip install JayDeBeApi

pip install paramiko
pip install wxPython
pip install openpyxl    ##读取Excel文件内容  Openpyxl 教程|极客教程
pip install suds-jurko  ##测试webservice接口 python3 利用suds-jurko测试webservice接口(修正)_chinewwen的博客-CSDN博客
pip install xmltodict    ## XML到python的字典转换 python的xmltodict模块详解-佩恩的博客
pip install kazoo        ## Python 连接Zookeeper   Python——ZooKeeper库Kazoo入门_XerCis的博客-CSDN博客_kazoo
pip install xlrd            ## python操作excel主要用到xlrd和xlwt这两个库 python里面的xlrd模块详解(一) - tooltime - 博客园
pip install PyYaml      ## 用来写配置文件的库  Python中Pyyaml模块的使用 - 艾里_Simple - 博客园
pip install PyQt5==5.11.3   ##图形界面编程 PyQt5入门教程 - Microtiger - 博客园
pip3 install pandas       ##数据分析库 Pandas 教程 | 菜鸟教程
pip install pyinstaller     ##将 Python 程序生成可直接运行的程序  Python PyInstaller安装和使用教程(详解版)
pip install pywin32    ## 提供了很多访问windows的API  python库 Pywin32使用 - 可爱的黑精灵 - 博客园
pip install redis  ## 操作控制redis的库  Python redis 使用介绍 | 菜鸟教程
pip install robotframework-pabot  ##管理robotframework测试案例 使用pabot并行执行robotframework用例 - 小嘉欣 - 博客园
pip install requests  ## 接口请求测试库  Python爬虫入门:requests库入门_菜鸟也要高飞-CSDN博客

python requests模块 - 灬菜鸟灬 - 博客园
pip install redis-py-cluster  ##操作数据库集群 实现Redis Cluster并实现Python链接集群 - The^_^Boy - 博客园
pip install PyMySQL
pip install pysnooper  ##调试python代码神器 极简Python DeBug工具——PySnooper - 小金乌会发光-Z&M - 博客园

Python调试神器:PySnooper详细使用指南!_Python猫-CSDN博客

五、安装Pycharm,Python的编写工具

下载地址: Download PyCharm: Python IDE for Professional Developers by JetBrains 

由于运行Pycharm需要jdk的支持,所以装Pycharm之前要确保本地电脑已经安装了jdk(1.8以上版本) 且配好了jdk的环境变量

UI自动化测试环境搭建 Python+Selenium+RobotFramework_第10张图片

安装完Pycharm后,可以在Pycharm的设置内安装IntelliBot。这个插件可以在Pycharm里提供RF框架的支持,在Plugins中搜索安装即可。

UI自动化测试环境搭建 Python+Selenium+RobotFramework_第11张图片

 UI自动化测试环境搭建 Python+Selenium+RobotFramework_第12张图片

 至此,我们的环境基本配置完成。

 

你可能感兴趣的:(自动化测试,自动化,selenium,python,测试工程师)