各个驱动下载地址: http://www.seleniumhq.org/download/
一、RFS介绍
1.概念
RFS框架:RobotFramework+Selenium框架
2.特点
2.1通过图形化界面来编写自动化脚本,对语言要求低,方便简单,开发效率高
2.2通过'关键字'来进行驱动,内部包含了丰富的关键字;
内置关键字
库关键字 --->你所导入的第三方测试库的中的关键字
用户关键字 --->自己定义关键字
注:'关键字'的内部机制就是通过函数来实现的,一个'关键字'的内部机制其实就是一个'函数'
2.3支持丰富的第三方'关键字'测试库,可通过这些测试库来拓展RFS的功能
例如:
内置的测试库有(robot自带):
BuildIn --->基础库中的关键字
String --->处理字符串的库
第三方测试库有:
Selenium2Library --->界面WEB自动化的测试库,基于selenium
RequestLibrary --->接口自动化的测试库
ExcelLibrary --->操作Excel的测试库,基于xlrd,xlwt
DatabaseLibrary --->连接数据库的测试库,基于PyMySql(Mysql的驱动)
AutoItLibrary --->对Windows窗口操作的库
2.4可自动生成自动化测试报告&日志
3.优点
RFS框架与PSU框架相比较,具有如下优点:
3.1 通过图形化界面,采用'关键字'来开发自动化脚本,对语言要求低,方便简单,开发效率高(只需团队中有一个人懂python开发robot famework 关键字,其它人会用即可)
3.2 RFS框架内置丰富的测试库,同时扩展性强,通过第三方库来扩展RFS的功能
3.3 RFS框架可自动生成自动化HTML测试报告&日志,还带错误截图
3.4 RFS框架可以自动帮我们去加载/管理用例并运行用例
4.缺点
4.1 robot framework 也不带录制功能;不是录个脚本随便跑的那种
4.2 robot framework 目前对Python3的支持性不好,主要是它的扩展库的问题,一般用Python2
5.原理
RFS框架是通过'关键字'来进行驱动的,只要熟悉测试库内部关键字的用法,就可以开发自动化脚本了
6.封装
6.1封装
new directory //创建项目 #取名Function(函数)
new resource //定义资源 #取名'业务关键字'
new user keyword //在资源里定义一个用户自定义关键字 #取名'登录'
Selenium2Library //在资源上进行导包
6.2使用
在哪个测试套件中需要用到上面资源里定义的用户自定义关键字就导入资源,直接引用即可
Log打印
7.常见问题
7.1没有日志信息
进入任务管理器,删除chromedriver.exe进程
7.2解决总是要手动杀死chromedriver.exe进程的问题
7.2.1 导库:OperatingSystem //这个库可以帮助我们自动强制杀死某个指定的进程
7.2.2 ${RunOutput} OperatingSystem.Run taskkill /IM "Chromedriver.exe" /T /F
${RunOutput} //关键字
/F //强制
taskkill /IM "Chromedriver.exe" /T /F //是一条dos命令
7.3 RFS框架断言
7.3.1断言需要根据不同的模块从不同的角度去进行检查,主要从以下几个方面去检查:
1. 前台变化