zoukankan      html  css  js  c++  java
  • 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的下载地址

  • 相关阅读:
    使用图形化界面打包自己的类库
    搭建自己的NuGet服务器,上传自定义NuGet包
    在内部架设NuGet服务器
    Prism简介
    Nhibernate Icreteria 分页查询
    uDig介绍
    基于Geoserver配置多图层地图以及利用uDig来进行样式配置
    如何在GeoServer上发布一张地图
    XML的SelectNodes使用方法以及XPath
    coded ui run in interactive mode
  • 原文地址:https://www.cnblogs.com/meihan/p/8568684.html
Copyright © 2011-2022 走看看