在使用 RF(Rebot framework)的时候需要 Python 或 Jython 环境,具体可根据自己的需求来确定。本文以在有 Python 的环境的机器上安装和使用 RF 为例。
在配置过程中需要安装如下包:python 2.7、wxPython、robot framework、robot framework ride、robot framework selenium library。
安装 Python 2.7
RF 框架是基于 Python 语言的,所以一定要有 Python 环境。可以通过下面的下载页面下载对应的 Python 版本。
下载页面:https://www.python.org/downloads/。
下载完成后,选择默认项进行安装。
安装完后,需要设置环境变量:计算机—属性—高级系统设置—环境变量—系统变量—Path,写入 C:\Python27 和 C:\Python27\Scripts(更改为您指定路径即可)。
同时我们也可以通过 DOS 环境来验证安装的 Python 信息。
安装 pip
安装完Python后,进入Python安装目录,例如:C:\Python27\Scripts,
执行easy_install.exe pip
则python27\Scripts文件夹下会出现一系列和pip有关的文件,其中有pip.exe,说明pip命令可以使用
在cmd下输入“pip”,如果能识别"pip"指令,则说明pip安装成功了。
也就是说会出现如下的画面:
安装 WxPython
下载页面: https://pypi.org/project/wxPython/。
在选择版本下载的时候要注意选择与 Python 版本对应的版本,并且选择 unicode 版本,比如版本:wxPython2.8-win32-unicode-py26.exe,否则安装完成后不能支持中文。
下载完成后,选择默认项进行安装即可。
除此之外,还可以通过一下的pip指令进行安装:
pip install wxPython
安装 PyCrypto
下载页面1:http://www.voidspace.org.uk/python/modules.shtml#pycrypto。
下载页面2:下载页面:https://pypi.org/project/pycrypto/。
选择对应的 pycrypto installer 版本,进行默认安装。需要在安装库(如 SHHLibrary)之前进行安装,否则会出现 错误“Can't find vcvarsal.bat”。
除此之外,还可以通过一下的pip指令进行安装:
pip install pycrypto
如果你的python版本超过了以上网站提供的PyCrpyto所对应的版本,例如,当你的python版本为3.7时,你可以使用一下pip指令进行安装:
pip install pycryptodome
安装 Robot Framwork
进入 Python 的安装路径,执行命令“pip install robotframework”或者通过下载页面 https://pypi.python.org/pypi/robotframework下载源码。
解压后,执行命令“python setup.py install”进行安装。进入 Python 的安装路径,执行命令“pip install robotframework”。
安装 robotframework-ride
对应需要安装的版本
python3.7
robotframework==3.1
wxPython==4.0.3(尝试用4.0.4发现还不行)
robotframework-ride==1.7.4dev(之前1.7.3rc1出现保存不了的bug,暂时还未发布,需要下载源码)
robotframework和wxPython都用pip安装就可以了,需要注意版本
ride的下载路径(下载源码安装)
https://github.com/robotframework/RIDE
下载完毕后进行解压,在解压后的目录下进入cmd界面,然后输入指令:python setup.py install进行安装。
安装成功后,会在桌面显示一个图标,可以直接打开ride
或者直接在cmd命令窗口输入"ride.py"
或者在\\Python37\Scripts底下双击ride.py。
打开后如图:
安装需要的 Library
如 selenium2library ,archivelibrary,SSHLibrary ,ftplibrary 等。进入 Python 的安装路径,分别执行以下命令:
清单 1. 安装 Test Library
pip install robotframework-selenium2library
pip install robotframework-archivelibrary
pip install robotframework-sshlibrary
pip install robotframework-ftplibrary
完成以上步骤后,RobotFramework 的安装工作已经完成,可以通过执行命令“pip list”查看已经安装的产品,如图 1 所示:
图 1.RobotFramework 安装产品列表
RIDE是一款专门用来编辑Robot Framework用例的软件,用Python编写并且开源。当我们针对一个系统编写好一套用例后,每当我们对系 统做一些更改的时候,便可以把已经写好的用例拿出来稍作修改,通过执行这些用例就可以检测系统的功能是否依旧完好。系统需要一个不断完善的过程,而 RIDE用例也将随着系统的变更做着相应的修改。
项目结构:整修项目中所有结构显示及相关引用文件的显示,树型结果展示。可选择针对部分TestCase进行执行
引用:添加外部引用包、资源、变量、失败帮助
参数:添加变量、数组
数据:此处可添加一些测试引用数据
设置区:主要用来配制此TestCase执行阶段的的操作
Documentation:说明,可添加TestCase的说明、上下文、参数说明、业务等。无内容限制
Setup:执行用例前可进行的一些设置,数据初始化、上下文数据还原
Teardown:执行用例结束后部分操作。数据销毁、上下文数据还原
Timeout:超时设置,此条用例的最大执行时间。超过此时间,则为失败
Template:模板
Tags:标签,可用来设置TestCase的优先级、标记用例。
脚本区:编写具体测试用例的区域
2.2.3.Text Edit页面
脚本编写区:用来直接编写脚本。但此处编写脚本时,需要注意空格的处理,建议使用Test
Case页面中的脚本区来进行脚本完善
脚本编写时各个关键字和参数由四个空格区分
执行设置区:设置执行时的配制
pybot:设置此次使用pybot/jybot/custom
script来执行脚本
Report:执行结束后,可点击此直接查看本次的报告
Log:执行结束后,可点击查看Log日志文件
Autosave:勾选后,可在执行前会自动保存所有的变更
Pause on failure:勾选后,在执行失败时自动停止
Show message log:勾选后,在执行时会自动显示message“系统运行记录”信息
Arguments:执行时可配制的一些参数
Only run tests with tags:配制后,仅会执行带有此处tag的Test
Case。可配制多个,使用","分隔
Skip tests with tags:配制后,自动跳过带有tag标签的Test Case。可配制多个,使用“,”分隔
脚本运行记录显示区:执行过程中的记录信息
系统运行记录显示区:扫行过程中的相关系统记录信息
1.创建一个新的工程
首先点击菜单栏的 File—>New Project。(这里选择”Directory“,因为我们要创建一个文件夹来存放用例,其实用File也可以,看自己需求吧)
创建好后如下图
2.创建测试套(Suite)
右击新创建的文件“testBaidu”——>点击“New Suite
3.创建测试用例(Test Case)
右击新创建的文件“New Test Case”——>点击“New Suite
4.编写用例脚本
1)添加Selenium2Library库文件 (web)、AppiumLibrary(APP)
点击创建好的测试套,选择添加Library
添加好以后文件名是黑色的,如果是红色,则说明加载不成功,需要检查库文件是否已安装,或者名称是否正确
2)编写脚本
用例情景如下:
a.打开浏览器进入百度主页
b.在搜索框中输入搜索文字”test“
c.点击搜索按钮
d.等待10s
e.关闭浏览器
3)运行脚本,查看运行情况
选择测试用例,点击菜单栏的”Tools“—>”Run Tests”,或者直接点击运行图标,在运行过程中可暂停、终止
运行完成后可查看运行日志了解运行情况
这样,一个简单的测试用例就完成了
自动化测试可以快速自动完成大量测试用例,节约人工测试成本。但是对于需求经常变更的项目,则需要大量时间进行维护。使用RIDE编写测试用例非常方便,而且它提供了日志记录功能,对用例运行过程中出现的各种情况都进行的详细记录,这样在用例运行失败的时候就很容易找到错误的地方了。
补充:
1、添加库文件的时候,字母不能忽略大小写,否则变红报错
运行ride报错,无法打开浏览器,需要名为geckodriver.exe的一个火狐浏览器driver在path中,当然解决办法就是,下载一个geckodriver.exe并将存放的路径添加在path中,简单点就直接放python的根目录下即可,下载地址 https://github.com/mozilla/geckodriver/releases
报错处理:
在使用selenium和Firefox中,报错:WebDriverException: Message: permission denied
分析原因1是:Firefox版本与selenium版本不匹配
经处理如下版本方式可以解决:
Python 3.6.0
selenium 3.141.0
Firefox 62.0
geckodriver-v0.23.0