Robot Framework 测试框架

Robot Framework简介

Robot Framework是一个通用型的验收测试和验收测试驱动开发的自动化测试框架(ATDD)。它具有易于使用的表格来组织测试过程和测试数据。

  • 使用简单。
  • 有非常丰富的库。
  • 可以像编程一样编写测试用例。
  • 支持开发系统关键字。

Robot Framework框架本身并不提供任何类型的测试,它只提供了作为自动化测试框架的基本功能,如用例的批量执行、测试报告的生成等,当然它也包含了一些基础库,用于脚本基本语法的编写。

 安装robot

用Python, 只翻译python的方法
pip install robotframework
C:UsersAdministrator>robot --version

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.5Day1Scriptspybot.bat    (Python安装路径D:PythonStudy3.5Day1Scripts)

-d results $FileName$

$FileDir$

填写信息



②设置cas

Robot Run SingleTestCase

D:PythonStudy3.5Day1Scriptspybot.bat    (Python安装路径D:PythonStudy3.5Day1Scripts)

-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.5Day1Scriptspybot.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.5RobotFramework est01 esultsoutput.xml
Log: D:PythonStudy3.5RobotFramework est01 esultslog.html
Report: D:PythonStudy3.5RobotFramework est01 esults eport.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的下载地址

原文地址:https://www.cnblogs.com/meihan/p/8568684.html