一,简介和特点
简介:RF是一个基于python语言开发的,可扩展的,是以关键字驱动模式的自动化测试框架,RF最新的版本是2019年7月发布,7月份之前只支持到python2.7,7月之后支持到3.7以上。
关键字驱动和数据驱动的区别?
关键字驱动:表示把项目中的一些逻辑封装成关键字,使用不同关键字组合实现不同的业务逻辑,从而驱动测试用例执行。
数据驱动:把测试用例里面的数据提取到excel或yaml文件里面,然后改变Excel或yaml中的数据驱动测试用例执行。
特点:
1,编写用例简单,可以robot,txt,tsv,html的格式编写用例
2,自动生成html格式的测试报告和日志
3,除了自带的类库外,还有很多实用的扩展类库
4,可以根据项目需要自定义一些关键字
5,可以使用GUI的方式运行,可以和svn,git以及Jenkins持续集成
二,环境安装
1,安装python,设置python环境变量
2,terminal输入命令:
pip install robotframework
pip install robotframework-ride
注:出现如下错误,可使用下面命令
pip install -U https://github.com/robotframework/RIDE/archive/master.zip -i https://mirrors.aliyun.com/pypi/simple
三,rf的使用
1,创建项目
注意:输入项目名称,选择项目路径,选择directory目录
2,创建测试套件【测试用例的载体】new testsuite
注意:选择file
关注:edit页签,主要有四大块:
1)setting设置:
强制标记:如冒烟用例smoke
2)import导入外部文件
library:导入外部类库
resource:导入资源文件
3)定义内部变量
add scalar ${}
add list @{}
add dict &{}
4)定义元数据
3,创建测试用例 new testcase
4,创建业务关键字【资源文件,自定义关键字的载体】new resource
注意:只能在文件夹下面创建,并且是txt格式。
5,创建用户自定义关键字 new user keyword
四,RF常用类库
1,标准库:不需要安装,直接用,rf自带
Bultini:(测试库)
Collection(集合库)
DateTime(时间库)
ScreenShot(截屏库)
标准库的位置(python/Lib/site-packages/robot/libraries)
2,扩展库:
Web自动化测试:SeleniumLibrary,Selenium2Library等
API接口自动化:RequestLibrary
APP自动化测试:AppiumLibrary
安装方式:
pip install robotframework-seleniumlibrary
pip install robotframework-request
pip install robotframework-appiumlibrary
扩展库位置(python/Lib/site-packages/****)
注意导入库名需要与文件夹中一致
五,常用关键字的使用
快捷键
1,搜索关键字F5
2,自动补全关键字shift+ctrl+空格
踩坑:
RIDE中testcase的edit界面显示异常/空白
发生原因:
由于Python3.8以上和RIDE版本不适应,会出现RIDE的testcase edit界面显示异常/空白的情况。
解决方法:
可以使用下列语句更新RIDE版本:
pip install -U https://github.com/robotframework/RIDE/archive/master.zip