robotframework自动化测试环境搭建
环境说明
安装清单
软件版本 | 安装方法 | 说明 |
---|---|---|
python3.8 | 下载软件包安装 | 所有软件的前提 |
pip命令 | 安装python时默认安装 | |
selenium-3.141.0 | pip install selenium | |
SeleniumLibrary-4.2.0 | pip install robotframework-seleniumlibrary==4.2.0 | |
robotframework | pip install robotframework | |
ride | pip install -U https://github.com/robotframework/RIDE/archive/master.zip | 这里安装的是最新测试版本 |
robotframework-autoitlibrary | pip install robotframework-autoitlibrary | |
安装配置
selenium安装
首先检查pip命令是否安装:
C:\Users\name>pip
Usage:
pip <command> [options]
Commands:
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
check Verify installed packages have compatible dependencies.
……
确保pip命令可用,如果提示“pip不是内部或外部命令”,需要将将pip的安装目录(如:C:\Python36\Scripts)添加到环境变量PATH下面。
接下来通过pip命令安装Selenium:
C:\Users\name>pip install selenium
Collecting selenium
Downloading selenium-3.4.3-py2.py3-none-any.whl (931kB)
26% |████████ | 245kB 576kB/s eta 0:00:02
27% |█████████ | 256kB 570kB/s eta 0:00:02
28% |██████████ | 266kB 536kB/s eta 0:00:0
29% |███████████ | 276kB 530kB/s eta 0:00:0
30% |████████████ | 286kB 586kB/s eta 0:00:0
……
SeleniumLibrary安装
版本说明
Project | Selenium Version | Python Version | Comment |
---|---|---|---|
SeleniumLibrary 2.9.2 and earlier | Selenium 1 and 2 | Python 2.5-2.7 | The original SeleniumLibrary using Selenium RC API. |
Selenium2Library 1.8.0 and earlier | Selenium 2 and 3 | Python 2.6-2.7 | Fork of SeleniumLibrary using Selenium WebDriver API. |
SeleniumLibrary 3.0 and 3.1 | Selenium 2 and 3 | Python 2.7 and 3.3+ | Selenium2Library renamed and with Python 3 support and new architecture. |
SeleniumLibrary 3.2 | Selenium 3 | Python 2.7 and 3.4+ | Drops Selenium 2 support. |
SeleniumLibrary 4.0 | Selenium 3 | Python 2.7 and 3.4+ | Plugin API and support for event friging webdriver. |
SeleniumLibrary 4.1 | Selenium 3 | Python 2.7 and 3.5+ | Drops Python 3.4 support. |
SeleniumLibrary 4.2 | Selenium 3 | Python 2.7 and 3.5+ | Supports only Selenium 3.141.0 or newer. |
SeleniumLibrary 4.4 | Selenium 3 and 4 | Python 2.7 and 3.6+ | New PythonLibCore and dropped Python 3.5 support. |
Selenium2Library 3.0 | Depends on SeleniumLibrary | Depends on SeleniumLibrary | Thin wrapper for SeleniumLibrary 3.0 to ease transition. |
根据python版本,这里安装的是SeleniumLibrary 4.3,具体可以根据实际情况安装。
安装命令:
pip install robotframework-seleniumlibrary==4.2.0
robotframework安装配置
直接使用pip命令进行安装
pip install robotframework
ride安装
这里安装了最新的ride,安装参考官网给出的最新方法进行安装
pip install -U https://github.com/robotframework/RIDE/archive/master.zip
AutoitLibrary安装
首先从官网下载autoit-v3-setup.exe根据提示安装即可,然后进行robotframework-autoitlibrary 1.2.5的安装,仍旧使用pip命令操作,如下
pip install robotframework-autoitlibrary
安装过程如下:
C:\Windows\system32>pip install robotframework-autoitlibrary
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting robotframework-autoitlibrary
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c4/4f/7d4d4c6232b7bb4f5c78fee4e46691087adc7b248ffed71cc3dafcc0a507/robotframework-autoitlibrary-1.2.5.tar.gz (696 kB)
|████████████████████████████████| 696 kB 930 kB/s
Requirement already satisfied: pywin32 in c:\users\admin\appdata\local\programs\python\python38\lib\site-packages (from robotframework-autoitlibrary) (227)
Requirement already satisfied: pillow in c:\users\admin\appdata\local\programs\python\python38\lib\site-packages (from robotframework-autoitlibrary) (7.1.2)
Using legacy setup.py install for robotframework-autoitlibrary, since package 'wheel' is not installed.
Installing collected packages: robotframework-autoitlibrary
Running setup.py install for robotframework-autoitlibrary ... done
Successfully installed robotframework-autoitlibrary-1.2.5
安装完成之后,可以查看一下本机安装的软件信息,如下
C:\Windows\system32>pip list
Package Version
------------------------------ -----------
numpy 1.18.4
Pillow 7.1.2
pip 20.1.1
Pygments 2.6.1
Pypubsub 4.0.3
pywin32 227
robotframework 3.2.1
robotframework-autoitlibrary 1.2.5
robotframework-ride 2.0b1.dev1
robotframework-seleniumlibrary 4.2.0
selenium 3.141.0
setuptools 46.4.0
six 1.14.0
urllib3 1.25.9
wxPython 4.0.7.post2
C:\Windows\system32>
安装autoit主要是为了进行文件上传的操作。
Autoit使用
安装完成Autoit之后,这里主要使用的是AutoItWindow Info(x64)、SciTE Script(x64)和Compile Script to .exe(x64)这三个工具。(因为本机是64位的,所有这里使用的都是64位)
首先打开AutoItWindow Info(x64),点击"Finder Tool"拖拽到上传文件选择页面,如图
可以看到AotuIt显示的信息,接下来就是使用SciTE Script(x64)进行编码操作,具体代码如下
$path = "C:\Users\admin\Postman\files\发票模块说明文档.doc"
ControlFocus("打开","","Edit1")
WinWait("[CLASS:#32770]","",10)
ControlSetText("打开","","Edit1",$path)
sleep(2000)
ControlClick("打开","","Button1")
保存为au3的格式,然后再次使用Compile Script to .exe转换为exe格式。接下来就是robotframework中使用run关键字操作。
Allure报告集成jenkins
在编写robotframework脚本进行运行,可以集成到jenkins进行运行测试;使用jenkins运行生成比较完整的报告信息。有两种生成报告的方法,一种是使用robotframework自带的报告集成到jenkins查看报告信息,还有一种是使用allure生成的报告界面相对漂亮很多。
Robot Framework Plugin插件
使用Robot Framework Plugin插件来生成robotframework报告,首先需要在jenkins中安装这个查看,然后在项目中配置使用:如图
说明:
Thresholds for build result 这里根据测试用例执行的实际情况设置范围
Allure插件
另外一种是使用allure插件生成报告,首先安装allure插件,然后在项目中修改配置信息。
Allure库安装
pip install allure-robotframework
jenkins插件安装和配置
安装allure插件这里就不在说明,有疑问可以百度;接下来是Global Tool Configuration,如图
然后就是具体的项目配置信息,可以按照下面的操作一步步来进行:
第一步:设置自定义工作空间
这里因为jenkins的安装目录和本机运行的test测试用例目录不是同一个,所以针对项目设置自定义工作项目空间,如图
第二步:修改构建命令
c:
cd C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts
call robot --listener allure_robotframework;%WORKSPACE%\allure-results E:\Robot_Workspace\rcm_beta\
exit 0
说明
- C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts是python的安装目录
- %WORKSPACE%默认取的是jenkins的工作路径,这里自定义设置的是项目的工作目录,即上图中设置的E:\Robot_Workspace
- robot --listener allure_robotframework,是RF和allure结合的固定命令,用户生成符合allure格式的日志文件。(网上很多都是pytest框架对应的命令,此处已经不要搞错,否则后面生成不了报告)
- %WORKSPACE%\allure-results,指定的allure格式的日志文件的存储路径
- E:\Robot_Workspace\rcm_beta\是要执行的测试用例的路径
第三步:构建后allure报告
选择"Allure Report",在path路径中设置存放allure相关日志文件的路径,此路径必须是“构建”命令中%WORKSPACE%后面的路径值,这里是allure-results ,如图
引用:https://www.jianshu.com/p/a0b58f02f4b5
这里有几个点必须注意,不然生成的报告显示的数据为空:
- 如果项目test的工作路径和jenkins的工作路径不一致,则必须在jenkins中自定义工作空间(或者把项目复制到jenkins的工作空间也是可行的~)
- 想要生成符合allure格式的报告,使用的命令
robot --listener allure_robotframework
- 需要指定allure报告路径,即
%WORKSPACE%\allure-results
配置完成之后,点击"立即构建",构建完成可以看到报告如下图所示
安装问题
日志乱码
安装完成后,第一次运行ride时,使用cmd正常显示中文,使用RIDE执行用例时控制台和日志均乱码:
具体解决:Lib\site-packages\robotide\contrib\testrunner[testrunnerplugin.py](http://testrunnerplugin.py/)
将SYSTEM改成OUTPUT
jenkins运行提示不是内部或外部命令
集成到jenkins执行robotframework时,提示pybot不是内部或外部命令
执行的命令:
call pybot.bat -d E:\outputdir E:\Robot_Workspace\rcm_beta
exit 0
第一步:首先在jenkins系统配置-全局属性中添加pybot命令的环境变量,如图
键:pybot
值:C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts
配置本地安装的python的安装路径。
第二步:需要切换要执行的命令到安装python的路径中,修改如下:
c:
cd C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts
call pybot.bat -d E:\outputdir E:\Robot_Workspace\rcm_beta
exit 0
再次运行就正常了。