一、介绍:
RF是一款python编写的功能自动化测试框架,具备良好的可拓展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,最新的版本是2019年7月份发布,7月份之前只支持python2.7,7月份之后支持到python3.7
1.对编程能力要求低
2.关键字调用方式,上手快:一个关键字实现了一个功能
3.可以做接口、web页面、app的自动化测试
4.开源,以python为基础
5.支持python2和python3
6.可以使用GUI的方式运行,可以和SVN、GIT以及Jenkins持续集成
二、关键字驱动与数字驱动的区别:
1.关键字驱动表示把项目中的一些逻辑封装成关键字(一个函数名),调用不同的关键字组合实现不同的业务逻辑,从而驱动测试用例执行。
2.数据驱动:数据驱动是把测试用例里面的数据提取到excel或者yaml文件里面,然后通过改变excel或者yaml中的数据驱动测试用例执行。
二、官方文档:
三、环境:
1.安装python3.7.3版本,下载地址:https://www.python.org/downloads/release/python-373/ 下载后安装,在cmd输入python可查看到版本
2.安装robotframework,在cmd输入pip install robotframework
3.安装ride工具,pip install robotframework-ride,安装过程中会询问是否创建快捷方式:
四·、RIDE组件
1.创建项目:File->New Project
2.创建模块:右键项目->New Directory
3.创建测试套件:右键模块->New Suite
关注:Edit页签,主要有四大块
①Setting设置:
测试套件之前的准备工作;
测试套件之后的扫尾工作;
测试用例之前的准备工作;
测试用例之后的扫尾工作;
测试用例模板;
测试用例的超时时间;
强制标记:例如标记smoke为冒烟测试用例
默认标记
②Import:导入外部文件
Library:导入外部类库。黑色表示成功,红色表示失败
Source:导入资源文件
③variable:定义内部变量
④metadata:元数据
4.创建测试用例:右键测试集合->New TestCase
5.创建资源文件(业务关键字):右键模块->New Resource,选择txt。是用户自定义关键字的集合
五、常用类库
1.标准库:RF自带不需要安装,直接可以使用
Builtln(测试库)
Collection(集合库)
DateTime(时间库)
ScreenShot(截屏库)
标准库的位置:E:\python\Lib\site-packages\robot\libraries
2.扩展库:需要通过pip命令去安装的库
Web自动化测试:SeleniumLibrary
接口自动化测试:RequestsLibrary
APP自动化测试:AppiumLibrary
安装方式:
pip install robotframework-seleniumlibrary
pip install robotframework-requests
pip install robotframework-appiumlibrary
扩展库的位置:E:\python\Lib\site-packages
导包时要跟文件夹的名字一模一样,包括大小写
六、解决打印乱码
1.进入到目录: Lib\site-packages\robotide\contrib\testrunner\
2.修改testrunnerplugin.py文件里面内容为OUTPUT
七、快捷键
1.搜索关键字:F5
2.自动补全关键字:Ctrl+Shift+空格
八、RF常用关键字的使用
1.注释:Comment | 内容
2.打印:Log | 内容
3.变量:${a} | Set Variable | 100
4.等待:sleep | 3
5.字符串拼接:${a} | Catenate | a | b | c |
6.创建列表1:${a} | Create List | a | b | c |
创建列表2:@{a} | Create List | a | b | c | 打印时使用Log Many
7.创建字典:${a} | Create Dictionary | name=zhangsan | age=4 |
8.获得字典所有的key:${keys} | Get Dictionary Keys | ${a} 先导入Collection
9.获得字典所有的value:${values} | Get Dictionary Values | ${a} 先导入Collection
10.通过字典的key获得value:${values} | Get From Dictionary | ${a} | name 先导入Collection
11.执行python里面的方法:${a} | Evaluate | random.randint(1,101) | modules=random
执行计算:
12.执行python里自定义的方法:
①创建python文件,编写方法,并放置目录下:D:/pyworkspace/sum.py
②RIDE中import Library,选择sum.py路径
③将变量赋值,并调用sum.py里的方法:
13.条件选择:
如果想要执行复杂语句,可以在资源文件写好然后进行调用
14.循环控制: