zoukankan      html  css  js  c++  java
  • robotframework自动化测试环境搭建

    环境说明

    • [x] win10
    • [x] python版本:3.8.3rc1

    安装清单

    软件版本 安装方法 说明
    python3.8 下载软件包安装 所有软件的前提
    pip命令 安装python时默认安装
    selenium-3.141.0 pip install selenium
    SeleniumLibrary-4.2.0 pip install robotframework-seleniumlibrary==4.2.0
    robotframework pip install robotframework
    ride pip install -U https://github.com/robotframework/RIDE/archive/master.zip 这里安装的是最新测试版本
    robotframework-autoitlibrary pip install robotframework-autoitlibrary

    安装配置

    selenium安装

    首先检查pip命令是否安装:

    C:Users
    ame>pip
    
    Usage:
      pip <command> [options]
    
    Commands:
      install                     Install packages.
      download                    Download packages.
      uninstall                   Uninstall packages.
      freeze                      Output installed packages in requirements format.
      list                        List installed packages.
      show                        Show information about installed packages.
      check                       Verify installed packages have compatible dependencies.
    ……
    
    

    确保pip命令可用,如果提示“pip不是内部或外部命令”,需要将将pip的安装目录(如:C:Python36Scripts)添加到环境变量PATH下面。

    接下来通过pip命令安装Selenium:

    C:Users
    ame>pip install selenium
    Collecting selenium
      Downloading selenium-3.4.3-py2.py3-none-any.whl (931kB)
        26% |████████                       | 245kB 576kB/s eta 0:00:02    
        27% |█████████                      | 256kB 570kB/s eta 0:00:02    
        28% |██████████                     | 266kB 536kB/s eta 0:00:0    
        29% |███████████                    | 276kB 530kB/s eta 0:00:0    
        30% |████████████                   | 286kB 586kB/s eta 0:00:0
    ……
    

    SeleniumLibrary安装

    版本说明

    Project Selenium Version Python Version Comment
    SeleniumLibrary 2.9.2 and earlier Selenium 1 and 2 Python 2.5-2.7 The original SeleniumLibrary using Selenium RC API.
    Selenium2Library 1.8.0 and earlier Selenium 2 and 3 Python 2.6-2.7 Fork of SeleniumLibrary using Selenium WebDriver API.
    SeleniumLibrary 3.0 and 3.1 Selenium 2 and 3 Python 2.7 and 3.3+ Selenium2Library renamed and with Python 3 support and new architecture.
    SeleniumLibrary 3.2 Selenium 3 Python 2.7 and 3.4+ Drops Selenium 2 support.
    SeleniumLibrary 4.0 Selenium 3 Python 2.7 and 3.4+ Plugin API and support for event friging webdriver.
    SeleniumLibrary 4.1 Selenium 3 Python 2.7 and 3.5+ Drops Python 3.4 support.
    SeleniumLibrary 4.2 Selenium 3 Python 2.7 and 3.5+ Supports only Selenium 3.141.0 or newer.
    SeleniumLibrary 4.4 Selenium 3 and 4 Python 2.7 and 3.6+ New PythonLibCore and dropped Python 3.5 support.
    Selenium2Library 3.0 Depends on SeleniumLibrary Depends on SeleniumLibrary Thin wrapper for SeleniumLibrary 3.0 to ease transition.

    具体参见官网:https://github.com/robotframework/SeleniumLibrary

    根据python版本,这里安装的是SeleniumLibrary 4.3,具体可以根据实际情况安装。

    安装命令:

    pip install robotframework-seleniumlibrary==4.2.0
    

    robotframework安装配置

    直接使用pip命令进行安装

    pip install robotframework
    

    ride安装

    这里安装了最新的ride,安装参考官网给出的最新方法进行安装

    pip install -U https://github.com/robotframework/RIDE/archive/master.zip
    

    参考官网 https://github.com/robotframework/RIDE

    AutoitLibrary安装

    首先从官网下载autoit-v3-setup.exe根据提示安装即可,然后进行robotframework-autoitlibrary 1.2.5的安装,仍旧使用pip命令操作,如下

    pip install robotframework-autoitlibrary
    

    安装过程如下:

    C:Windowssystem32>pip install robotframework-autoitlibrary
    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
    Collecting robotframework-autoitlibrary
      Downloading https://pypi.tuna.tsinghua.edu.cn/packages/c4/4f/7d4d4c6232b7bb4f5c78fee4e46691087adc7b248ffed71cc3dafcc0a507/robotframework-autoitlibrary-1.2.5.tar.gz (696 kB)
         |████████████████████████████████| 696 kB 930 kB/s
    Requirement already satisfied: pywin32 in c:usersadminappdatalocalprogramspythonpython38libsite-packages (from robotframework-autoitlibrary) (227)
    Requirement already satisfied: pillow in c:usersadminappdatalocalprogramspythonpython38libsite-packages (from robotframework-autoitlibrary) (7.1.2)
    Using legacy setup.py install for robotframework-autoitlibrary, since package 'wheel' is not installed.
    Installing collected packages: robotframework-autoitlibrary
        Running setup.py install for robotframework-autoitlibrary ... done
    Successfully installed robotframework-autoitlibrary-1.2.5
    

    安装完成之后,可以查看一下本机安装的软件信息,如下

    
    C:Windowssystem32>pip list
    Package                        Version
    ------------------------------ -----------
    numpy                          1.18.4
    Pillow                         7.1.2
    pip                            20.1.1
    Pygments                       2.6.1
    Pypubsub                       4.0.3
    pywin32                        227
    robotframework                 3.2.1
    robotframework-autoitlibrary   1.2.5
    robotframework-ride            2.0b1.dev1
    robotframework-seleniumlibrary 4.2.0
    selenium                       3.141.0
    setuptools                     46.4.0
    six                            1.14.0
    urllib3                        1.25.9
    wxPython                       4.0.7.post2
    
    C:Windowssystem32>
    

    安装autoit主要是为了进行文件上传的操作。

    Autoit使用

    安装完成Autoit之后,这里主要使用的是AutoItWindow Info(x64)、SciTE Script(x64)和Compile Script to .exe(x64)这三个工具。(因为本机是64位的,所有这里使用的都是64位)

    首先打开AutoItWindow Info(x64),点击"Finder Tool"拖拽到上传文件选择页面,如图

    可以看到AotuIt显示的信息,接下来就是使用SciTE Script(x64)进行编码操作,具体代码如下

    $path = "C:UsersadminPostmanfiles发票模块说明文档.doc"
    ControlFocus("打开","","Edit1")
    WinWait("[CLASS:#32770]","",10)
    ControlSetText("打开","","Edit1",$path)
    sleep(2000)
    ControlClick("打开","","Button1")
    

    保存为au3的格式,然后再次使用Compile Script to .exe转换为exe格式。接下来就是robotframework中使用run关键字操作。

    Allure报告集成jenkins

    在编写robotframework脚本进行运行,可以集成到jenkins进行运行测试;使用jenkins运行生成比较完整的报告信息。有两种生成报告的方法,一种是使用robotframework自带的报告集成到jenkins查看报告信息,还有一种是使用allure生成的报告界面相对漂亮很多。

    Robot Framework Plugin插件

    使用Robot Framework Plugin插件来生成robotframework报告,首先需要在jenkins中安装这个查看,然后在项目中配置使用:如图

    说明:

    Thresholds for build result 这里根据测试用例执行的实际情况设置范围

    Allure插件

    另外一种是使用allure插件生成报告,首先安装allure插件,然后在项目中修改配置信息。

    Allure库安装

    pip install allure-robotframework
    

    jenkins插件安装和配置

    安装allure插件这里就不在说明,有疑问可以百度;接下来是Global Tool Configuration,如图

    然后就是具体的项目配置信息,可以按照下面的操作一步步来进行:

    第一步:设置自定义工作空间

    这里因为jenkins的安装目录和本机运行的test测试用例目录不是同一个,所以针对项目设置自定义工作项目空间,如图

    第二步:修改构建命令
    c:
    cd C:UsersadminAppDataLocalProgramsPythonPython38Scripts
    call robot --listener allure_robotframework;%WORKSPACE%allure-results E:Robot_Workspace
    cm_beta
    exit 0
    

    说明

    1. C:UsersadminAppDataLocalProgramsPythonPython38Scripts是python的安装目录
    2. %WORKSPACE%默认取的是jenkins的工作路径,这里自定义设置的是项目的工作目录,即上图中设置的E:Robot_Workspace
    3. robot --listener allure_robotframework,是RF和allure结合的固定命令,用户生成符合allure格式的日志文件。(网上很多都是pytest框架对应的命令,此处已经不要搞错,否则后面生成不了报告)
    4. %WORKSPACE%allure-results,指定的allure格式的日志文件的存储路径
    5. E:Robot_Workspace cm_beta是要执行的测试用例的路径
    第三步:构建后allure报告

    选择"Allure Report",在path路径中设置存放allure相关日志文件的路径,此路径必须是“构建”命令中%WORKSPACE%后面的路径值,这里是allure-results ,如图

    引用:https://www.jianshu.com/p/a0b58f02f4b5

    这里有几个点必须注意,不然生成的报告显示的数据为空:

    1. 如果项目test的工作路径和jenkins的工作路径不一致,则必须在jenkins中自定义工作空间(或者把项目复制到jenkins的工作空间也是可行的~)
    2. 想要生成符合allure格式的报告,使用的命令robot --listener allure_robotframework
    3. 需要指定allure报告路径,即%WORKSPACE%allure-results

    配置完成之后,点击"立即构建",构建完成可以看到报告如下图所示

    安装问题

    日志乱码

    安装完成后,第一次运行ride时,使用cmd正常显示中文,使用RIDE执行用例时控制台和日志均乱码:

    具体解决:Libsite-packages obotidecontrib estrunner[testrunnerplugin.py](http://testrunnerplugin.py/)
    将SYSTEM改成OUTPUT

    来自 https://github.com/robotframework/RIDE/issues/1747

    jenkins运行提示不是内部或外部命令

    集成到jenkins执行robotframework时,提示pybot不是内部或外部命令

    执行的命令:

    call pybot.bat -d E:outputdir E:Robot_Workspace
    cm_beta
    exit 0
    

    第一步:首先在jenkins系统配置-全局属性中添加pybot命令的环境变量,如图

    键:pybot
    值:C:UsersadminAppDataLocalProgramsPythonPython38Scripts
    

    配置本地安装的python的安装路径。

    第二步:需要切换要执行的命令到安装python的路径中,修改如下:

    c:
    cd C:UsersadminAppDataLocalProgramsPythonPython38Scripts
    call pybot.bat -d E:outputdir E:Robot_Workspace
    cm_beta
    exit 0
    

    再次运行就正常了。

  • 相关阅读:
    微服务划分的姿势
    微服务的时间和成本去哪儿了
    假如你是架构师,你要做些什么
    说透代码评审
    从哲学层面浅谈计算机学习方法论
    分布式事务:两阶段提交与三阶段提交
    敏捷史话(四):敏捷是人的天性 —— Arie van Bennekum
    敏捷史话(三):笃定前行的勇者——Ken Schwaber
    敏捷史话(二):Scrum社区的悲剧性损失——Mike Beedle
    敏捷史话(一):用一半的时间做两倍的事——Scrum之父Jeff Sutherland
  • 原文地址:https://www.cnblogs.com/LOVEYU/p/13026696.html
Copyright © 2011-2022 走看看