Robot Framework+RIDE+Selenium环境搭建配置及使用说明

一 、Robot Framework+Selenium环境搭建

官网:http://robotframework.org/

序号 安装包名 安装方法 下载地址 备注
1 python exe文件,直接双击安装 https://www.python.org/download/releases/2.7.8/ 安装路径不能有空格
2 setuptools 下载ez_setup.py文件,双击 https://pypi.python.org/pypi/setuptools Python 的套件管理
3 pip 1、cmd进入ez_setup.py文件目录            2、用setuptools安装:easy_install pip https://pip.pypa.io/en/latest/index.html Python 的套件管理
4 robot framework 1、pip install robotframework             2、源码:python setup.py install            3、exe文件,直接双击安装 https://pypi.python.org/pypi/robotframework  https://github.com/robotframework/robotframework robot framework
5 wxPython pip install -U wxPython http://wxpython.org/download.php#stable 支撑Ride的运行库
6 robotframework-ride 1、pip install robotframework-ride            2、源码:pythont setup.py install            3、exe文件,直接双击安装 https://pypi.python.org/pypi/robotframework-ride ride
7 selenium2library 1、pip install robotframework-selenium2library                                  2、源码:pythont setup.py install            3、exe文件,直接双击安装 https://pypi.python.org/pypi/robotframework-selenium2library selenium2测试库,基于webdriver驱动
8 cx_Oracle exe文件,直接双击安装 http://sourceforge.net/projects/cx-oracle/files/ 连接oracle
9 databaselibrary 1、pip install robotframework-databaselibrary                                    2、源码:pythont setup.py install https://github.com/franz-see/Robotframework-Database-Library DB库
10 requests pip install requests https://pypi.python.org/pypi/requests 支撑RF引入RequestsLibrary库
11 RequestsLibrary pip install -U robotframework-requests https://github.com/bulkan/robotframework-requests http request库

验证python是否安装成功

1.执行cmd命令:python点击回车键,界面如下:

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第1张图片

2.如果提示python不是内部或外部命令时,检查是否将python添加到path环境变量,主要将以下三个添加即可

D:\Python27;D:\Python27\Scripts;D:\Python27\Lib\site-packages;


RobotFramework安装

1.完成以上步骤后,RobotFramework 的安装工作已经完成,可以通过执行命令“pip list”查看已经安装的产品。

2.安装完成后,验证是否安装成功:

执行cmd命令:ride.py点击回车键,界面如下:

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第2张图片

2. 设置桌面快捷方式

D:\Python27\pythonw.exe -c "from robotide import main; main()"

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第3张图片 

 


二 、RIDE界面操作

1.创建

创建项目New Project

点击:File->New Project

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第4张图片Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第5张图片

注:选择directory原因是,在directory的项目下可以创建测试套件,如果是tpye为file,则只能创建测试用例,这不利于用例的管理。


创建测试套件New Suite

右键项目Test,点击New Suite

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第6张图片

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第7张图片

注:选择file原因是,在file的测试套件下可以创建测试用例,如果是tpye为directory,还得重新再继续建file的测试套件,才能创建测试用例,因为测试用例只能在file类型下创建。


创建测试用例New Test Case

右键测试套件,点击New Test Case

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第8张图片

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第9张图片


创建完成后,最终界面如下

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第10张图片

2.RIDE界面说明

【1】测试套件工作区

1.测试套件Edit区

大体分成4个部分:

(1)加载外部文件

Library:加载测试库,主要是[PYTHON目录]\Lib\site-packages里的测试库

Resource:加载资源,主要是你工程相关的资源文件

Variables:加载变量文件,不怎么用,可暂时忽略

(2)定义内部变量

Add Scalar:定义变量。

Add List:定义列表型变量

Add Dict:定义字典型变量

(3)元数据定义

Add Metadata:定义元数据

(4)settings

一般settings是隐藏的,点击settings按钮,则会显示

Documentation:文档,每一项都有。可以给当前的对象加入文档说明

Suite Setup指的是测试套件启动的时候就执行某个关键字。(例:我在Suite Setup设置了Sleep | 5sec,表示等待5秒,要注意关键字的参数要使用 | 分隔)

Suite Teardown指的是测试套件结束的时候就执行某个关键字

Test Setup指的就是案例启动的时候执行某个关键字

Test Teardown指的就是案例结束的时候执行某个关键字

Test Template:测试模版,这是可以指定某个关键字为这个测试套件下所有TestCase的模版,这样所有的TestCase就只需要设置这个关键字的传入参数即可

Test Timeout:设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败

Force Tags:在文件型Suite这里还可以继续给子元素增加Force Tags,但是他不能删除父元素设置的tags

Default Tags:默认标记,其实和Force Tags没啥区别的

Arguments:传入参数

Return Value:返回值

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第11张图片


2.测试套件Text Edit区

测试套件测试用例文本信息

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第12张图片


3.测试套件Run区

Execution Profile:选择运行方式,里面有pybot、jybot和custom script。默认pybot即可。

Start:运行案例。若该测试套件下的测试用例前无勾选,则默认执行该测试套件下所有的用例。若测试用例勾选,则执行该测试陶见下勾选的用例。

Stop:停止案例。

Report和Log: 报告和日志,要运行之后才能点击。他们的区别,报告更多是结果上的展示,日志更多是过程的记录,更多使用的还是日志。

Autosave: 自动保存,如果不勾选,在修改了案例之后如果没有保存的话,运行案例时会提示是否保存。勾选则在运行时自动保存了。

Arguments: pybot的参数(或者jybot等)。完整版的参数可以在doc命令行输入pybot.bat --help

Only Run Tests with these Tags: 只运行这些标记的测试案例。在case的setting里可以添加tag。

Skip Tests with these Tags: 跳过这些标记的测试案例。在case的setting里可以添加tag。

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第13张图片


【2】测试用例工作区

1.测试用例Edit区

(1)settings

Documentation:文档,每一项都有。可以给当前的对象加入文档说明。

Setup指的就是案例启动的时候执行某个关键字。

Teardown指的就是案例结束的时候执行某个关键字。

Tags:标记某个测试用例。在Run区中Only Run Tests with these TagsSkip Tests with these Tags,会通过这个标志位来识别是否运行或跳过用例。

Timeout:设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败。

Template:测试模版,这是可以指定某个关键字为这个测试套件下所有TestCase的模版,这样所有的TestCase就只需要设置这个关键字的传入参数即可。

(2)表格区

最重要的部分,编写测试用例。

第一列一般写的是关键词,关键词的来源包括BuiltIn库,第三方导入库,自己编写的导入库。


使用技巧:

通过ctrl+alt+space可以自动带出相关关键字。以及相关用法,里边有对入参的说明。

Ctrl+鼠标悬浮(即鼠标在某个关键字上),可以直接显示关键字的相关用法。

第二三四五列,一般是入参,红色的表示必填的入参。浅灰色表示选填的入参。深灰色表示无需填写。

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第14张图片


输入wait再同时按住ctrl+alt+space键,则可以自动带出相关关键字,以及选中关键字的用法。


Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第15张图片


对于已输入的关键字,忘了其用法,可以点击输入框再同时按住ctrl+alt+space键,即可查看该关键字的用法。

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第16张图片


测试用例Text Edit区

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第17张图片


测试用例Run区

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第18张图片


三、Robot Framework库

BuiltIn内建库
首先先介绍下robotframework的库,通过点击F5快捷键,目前只有内建的库BuiltIn。

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第19张图片

Evaluate 关键字:
如果你需要进行一些数值运算并得到结果,你就需要用到Evaluate关键字。Evaluate会把你想要计算的表达式直接传递给Python,并把Python的计算结果返回给你。这是最经常要用到的。

Should 系列关键字:
Should系列关键字是Should打头的一系列关键字。

Should Be Empty
Should Be Equal

Should Be Equal As Integers 
Should Be Equal As Numbers

Should Be Equal As Strings
Should Be True

Should Contain
Should Contain X Times
Should End With
Should Match

Should Match Regexp 
Should Not Be Empty
Should Not Be Equal
Should Not Be Equal As Integers
Should Not Be Equal As Numbers
Should Not Be Equal As Strings
Should Not Be True
Should Not Contain
Should Not End With
Should Not Match 
Should Not Match Regexp
Should Not Start With
Should Start With
这些关键字都是用作判断时用的,每个用例都会用到,比如我们的执行结果得到了一个字符串,我们要判断这个字符串要与一个预期字符串相等,否则用例就无法通过,这时候,肯定会用上Should Be Equal As String

关键字,其它关键字我们通过关键字的名字就能顾名思义,知道它的作用。点击F5可查看某个函数的具体用法。

如Should Contain有两个入参,下方还有具体的说明。
Should Contain item1 item2  :item2要在item1里,比如说item1为hello  item2为he  则通过。


Convert To系列关键字:

Convert To Binary
Convert To Boolean
Convert To Hex 
Convert To Integer 
Convert To Number 
Convert To Octal 
Convert To String
做类型转换,将某个值转换为相对应的类型。


Run keyword系列关键字:

Run Keyword If
Run Keyword If All Critical Tests Passed
Run Keyword If All Tests Passed
Run Keyword If Any Critical Tests Failed
Run Keyword If Any Tests Failed
Run Keyword If Test Failed
Run Keyword If Test Passed
Run、Keyword If Timeout Occurred
这些关键字能根据一个判断条件的真假来看是否执行关键字。一般使用这些关键字来实现高级语言中的ifelse功能。最常用的是Run Keyword If 和 Run Keyword unless 他们俩实现的效果正好相反。

Exit For Loop关键字:
用作退出循环,一般和Run Keyword If关键字联合使用,来实现条件退出。


Wait Until Keyword Succeeds关键字:
这是一个将异步调用变为同步调用的关键字。举一个例子:如果call某个WebService,并且需要得到返回结果才能做下一部操作。我们就会用到这个关键字。


 
日期相关的关键字GetTime。
测试暂停的Sleep等。都相当有用。
RF目前仅有2个内置关键字:FOF 和 IN,来实现循环结构。功能还是比较弱的。
了解关键字的用法,直接点击F5,在Search term中,输入关键字,按回车键,可以在下方对这个关键字的入参用法进行说明。



第三方库

只有内建的库往往还不能满足需求,还可以导入第三方库,如操作页面的Selenium2Library。第三方库,主要是[PYTHON目录]\Lib\site-packages里的库,一般安装的库会在此目录下。在测试套件下的工作区的右方,点击Library,在弹出框的name栏输入“Selenium2Library”,点击OK即可。
当工作区的Library那一行黑色显示,说明导入成功(如果显示红色说明导入不成功,可自行百度解决)。
点击F5快捷键查看,可查看多了一个Selenium2Library的库。

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第20张图片

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第21张图片

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第22张图片


selenium2关键字:

1.Open Browser  打开浏览器

2.Close Browser  关闭浏览器

3.Maximize Browser Window 浏览器最大化

4.Get Window Size设置浏览器宽 高

5.Get Window Position设置浏览器位置

6.Input Text 文本输入

7.Click Button 按钮点击

8.Click Element 点击元素

9.Wait Until Element Contains  等待元素出现

  需要传入元素定位,等待时间以及错误信息

10.Get Title 获取当前页面的title

11.Get Text 获取文本信息

12.Get Element Attribute 获取元素属性 Get Element Attribute  id=kw@name     先定位元素然后获取@后面的属性的值

13.断言:
Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第23张图片
可以看到有判断是否为空,是否相等,是否为真,是否包含等等。

14.表单切换和退出

15.下拉框的相关关键字
有多选按钮,表,按表下标,按表的值等等。


AppiumLibrary常用关键字

1.实用函数

关键字 含义 实例 备注
Click Button 点击按钮 Click Button 注销 这里“注销”的class属性,必须是Button
Click Element 点击元素 Click Element [locator] Locator可以是resource-id,也可以是xpath;但必须是当前页面唯一存在的;一般用该关键字可以完成所有元素点击
Click Text 点击文字 Click Text 我的 “我的”需要是当前页面唯一存在的
Input Text 在指定元素中输入文本 InputText [locator] 111111 Locator可以是resource-id,也可以是xpath
Swipe 滑动屏幕 Swipe 1000 1800 100 1800  
Get Text 获取某标签内容 ${account} Get Text  [locator]   获取内容后存储到指定变量中,从而在后续脚本中调用该内容

2.校验函数

关键字 含义 实例
Element Should Be Enabled 检查元素是否可用/可见 Element Should Be Enabled  [locator]
Page Should Contain Element 检查界面包含某些元素 Page Should Contain Element   [locator]
Page Should Contain Text 检查界面包含某些文字信息 Page Should Contain Text  预约挂号
Page Should Not Contain Element 检查界面不包含某些元素 Page Should Not Contain Element  [locator]
Page Should Not Contain Text 检查界面不包含某些文字信息 Page Should Not Contain Text  预约挂号

3.等待函数

关键字 含义 实例 备注
Wait Until Page Contains 等待直到界面中包含某些文字,才进行下一步 Wait Until Page Contains  预约挂号 默认等待时间为5s
Wait Until Page Contains Element 等待直到界面中包含某些元素,才进行下一步 Wait Until Page Contains Element   [locator] locator可以是resource-id,也可以是xpath
Wait Until Page Does Not Contain 等待直到界面中不包含某些文字,才进行下一步 Wait Until Page Does Not Contain  预约挂号  
Wait Until Page Does Not Contain Element 等待直到界面中不包含某些元素,才进行下一步 Wait Until Page Does Not Contain Element  [locator]  

4.其他函数

条件判断

关键字:Run Keyword If
用法:
Run Keyword If
…ELSE IF   
…ELSE


检查某关键字的返回状态
关键字:Run Keyword And Return Status
返回值:布尔值,True False
通常和Run Keyword If关键字搭配使用 

${isMessage} Run Keyword And Return Status Wait Until Page Contains Element [locator]
Run Keyword If ${isMessage} do something  
含义  :判断当前界面中是否存在取消按钮;如果存在,则do something



For循环
关键字:For
实例:
1)For循环单独使用时

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第24张图片


2)For循环嵌套Run Keyword If语句,退出循环Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第25张图片



自定义关键字
创建方法:测试项目-New Resource-New User Keyword




导入自己编写的库
比如说有些功能想自己编写,比如说如下代码,想要导入实现获取验证码的功能,文件名为clay.py(英文格式命名),该文件保存在D:\Python27,此时需要将该路径添加到[python安装路径]\Lib\site-packages下的后缀名为pth的文件(英文格式命名)中。

Robot Framework+RIDE+Selenium环境搭建配置及使用说明_第26张图片

注意,在clay.py文件中编写函数描述时,前面要加u,否则F5查看时,会乱码。

你可能感兴趣的:(Robot Framework+RIDE+Selenium环境搭建配置及使用说明)