Robot Framework简介
Robot Framework是一个通用型的验收测试和验收测试驱动开发的自动化测试框架(ATDD)。它具有易于使用的表格来组织测试过程和测试数据。
- 使用简单。
- 有非常丰富的库。
- 可以像编程一样编写测试用例。
- 支持开发系统关键字。
Robot Framework框架本身并不提供任何类型的测试,它只提供了作为自动化测试框架的基本功能,如用例的批量执行、测试报告的生成等,当然它也包含了一些基础库,用于脚本基本语法的编写。
安装robot
Robot Framework 3.0.2 (Python 3.5.1 on win32)
IDE安装
方法1 下载 sublime text3 安装插件
Sublime Text3,所以,这里我们选择Sublime assistant插件。
安装一个robot-framework-assistant插件即可使用,但调试依然是一个头大的问题,只能根据测试报告中的log慢慢定位,非常耗时。
GitHub地址:https://github.com/andriyko/sublime-robot-framework-assistant
克隆或下载插件代码到本地,将整个项目目录放复制到Sublime Text3的
Packages\目录下将包名改为Robot Framework Assistant,
然后,重新启动Sublime Text3。在Sublime Text3菜单栏单击“View”→“Syntax”→“Robot Framework syntaxhighlighting”,选择Robot Framework语法高亮,
方法2 通过pycharm下载intelliBot插件
安装
1、通过File-settings来打开设置面板
2、下载intelliBot插件
3、安装intelliBot插件
4、重启Pycharm
配置RF的文件类型识别
我们可以用这个插件来配置编辑器识别RF的脚本文件
还是打开设置面板,如图所示来配置一下(因为RF的文件,我们在ide中设置的是txt格式,所以我们添加*.txt,如果你设置的是其他格式,那就添加其他格式就好了)
1、通过File-settings来打开设置面板
2、添加文件类型
配置suite和case的运行配置
因为我们在运行脚本时,可以单独运行一个用例,也可以直接运行一个用例集合:suite,所以我们这里要配置两个;
依旧是打开设置面板
①配置suite
1、通过File-settings-Tools-External Tools
2、Tools-External Tools -新建配置点 + 号
Robot Run TestSuite
D:\PythonStudy3.5\Day1\Scripts\pybot.bat (Python安装路径D:\PythonStudy3.5\Day1\Scripts)
-d results $FileName$
$FileDir$
填写信息
②设置cas
Robot Run SingleTestCase
D:\PythonStudy3.5\Day1\Scripts\pybot.bat (Python安装路径D:\PythonStudy3.5\Day1\Scripts)
-d results -t "$SelectedText$" ./
$FileDir$
运行RF脚本
我们打开已经导入的脚本文件,通过右键调出编辑菜单,然后通过external来运行
test_suite.txt
*** Settings *** Library Selenium2Library *** Test Cases *** test01 [Documentation] 测试淘宝 Open Browser https://login.taobao.com/member/login.jhtml chrome Click Element xpath=//*[@id="J_Quick2Static"] Sleep 1 Input Text xpath=//*[@id="TPL_username_1"] 123 Input Text xpath=//*[@id="TPL_password_1"] 123 ${title_1} Get Title Click Button xpath=//*[@id="J_SubmitStatic"] Sleep 2 ${title_2} Get Title should not contain ${title_2} ${title_1} Close browser
运行
运行,,脚本编辑处,右键【external Tools】--[Robot Run Test Suite]/[Robot Run SingleTestCase]
运行结果
D:\PythonStudy3.5\Day1\Scripts\pybot.bat -d results test_suite.txt
==============================================================================
Test Suite
==============================================================================
test01 :: 测试淘宝 [ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
| FAIL |
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
------------------------------------------------------------------------------
Test Suite | FAIL |
1 critical test, 0 passed, 1 failed
1 test total, 0 passed, 1 failed
==============================================================================
Output: D:\PythonStudy3.5\RobotFramework\test01\results\output.xml
Log: D:\PythonStudy3.5\RobotFramework\test01\results\log.html
Report: D:\PythonStudy3.5\RobotFramework\test01\results\report.html
Process finished with exit code 1
遇到的问题
Keyword 'Capture Page Screenshot' could not be run on failure: ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
碰到这个问题,首先确认一下你的selenium是什么版本,如图是selenium3.0以上的,并且其日志中的错误中包含: ‘geckodriver’ executable needs to be in PATH.
解决办法:
1.下载geckodriver.exe,下载路径:https://github.com/mozilla/geckodriver/releases,
2.放到Python路径下就可以
运行还是报错
WebDriverException: Message: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"4151F3C003BA873AE7AAE684C8A59BDD","isDefault":true},"id":1,"name":"","origin":"://"}
(Session info: chrome=65.0.3325.162)
(Driver info: chromedriver=2.9.248315,platform=Windows NT 6.1 SP1 x86_64)
这个其实是老版本的chromedriver 无法正常启动chrome。解决办法就是下载最新的chromedriver.
如果是mac系统,下载了chromedriver后,打开Finder,在go菜单下选择“go to folder”,输入/usr/bin,将原来的chromedriver删除,将新的复制进去。在sell中执行chromedriver -v 查看是否是最新的版本号。
【error】
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
每次打开的chrome的时候总是在地址栏出现“data:;”,却并不能打开链接地址,尝试了很多种方法,却没有想到,竟然是自己的chrome和下载的chromedriver的版本不匹配。重新下载了匹配的chromedriver之后,果真就可以运行成功了,下面是其他人给的chromedriver的下载地址