让腾讯测试工程师带你走入Robotframework自动化测试框架不为人知的秘密_robotframework自动化测试是什么工作

297 阅读10分钟

3.RobotFramework框架安装用途

(1)必须先安装python环境

www.python.org/downloads/r…

RF最大支持到python3.7。我们使用python3.5版本。

(2)安装robotframework

【1】进入dos窗口,输入pip install robotframework

【2】安装Seleniumlibrary  -- 支持Selenium自动化RF扩展库 

doc运行pip install robotframework-selenium​library

都安装好后可执行 pip list 查看robotframework 和 robotframework-selenuimlibraryd的版本

【3】Pycharm 安装插件 --  不同颜色高亮显示字体

在Pycharm中,点击file - settings - plugins ,点击Browser Repository,输入robot

安装IntelliBot  、 IntelliBot @SeleniumLibrary Patched、Run Robot framework TestCase(可惜我的Pycharm里没有这个)

也可以下载 IntelliBot插件
   https://github.com/jcyrss/songqin-testdev/raw/master/others/softwares/intellibot.jar
在Pycharm中,点击菜单 file - settings - plugins
在弹出对话框中 点击下方 按键install plugin from disk
选择下载的jar文件
 
如果pycharm高亮显示RF文件颜色不好看,可以导入settings.jar
pycharm 可以点击菜单 File -> Import Settings -> 导入下面的pycharm 配置文件
https://github.com/jcyrss/songqin-testdev/raw/master/rf/files/settings.jar 

【4】运行第一个自动化程序:

测试套件,就是测试用例的集合,一般把功能相关的测试用例组合起来放在一起,成为某个测试套件

1 创建一个新的项目, 创新一个目录后,创建测试套件或直接创建一个robot文件

    如果New文件里没有Robot File,可以创建一个后缀为.robot的file

2输入自动化用例:

*** Settings ***
Library  SeleniumLibrary
 
*** Test Cases ***
百度搜索
    open browser                    http://www.baidu.com        chrome
    set browser implicit wait       5
    input text                      id=kw                      hello\n
    ${firstRet}=                    get text                   id=1
    should contain                  ${firstRet}                hello

3执行用例:

 调试单个用例的时候可以直接点击Run 运行该用例

多个测试用例一起执行时,首先进入项目目录,执行dos窗口

执行所有用例:   robot  用例套件目录名称 

执行目录下的一个用例:  robot  测试套件目录名称 / 测试用例名称.robot 

执行目录下的一个用例文件的一个测试点:  robot  -t  testcase  测试套件目录名称 / 测试用例名称.robot 

 【5】第一个执行的时候,报错

检查后发现文件没有选择UTF-8   

更改后,重新输入用例后再执行命令就完成了

绿色的PASS 代表通过

红色的Fail 代表失败

执行后可查看报告和日志

(3)安装框架的gui工具

pip install –i pypi.douban.com/simple robotframework-ride

(4)安装第三方库

1.web自动化库:(Selenium)

pip install –i pypi.douban.com/simple robotframework- seleniumlibrary

2.api接口自动化库:(Request)

pip install –i pypi.douban.com/simple robotframework-requests

二、RobotFramework底层库

robotframework.org/?tab=librar…RobotFramework 底层库包含内置库和外部库,详细资料在可见robotframework.org/?tab=librar…

RobotFramework 内置库:

Builtin: 提供基本操作的关键字,无需提前导入库(Library XXX)

Dialog: 提供暂停测试执行与用户进行交互对话界面方式的关键字

Collections:提供一组关键字处理Python列表和字典

XML: 提供可以生成、编辑和验证XML文件库

Screenshot: 提供关键字来捕获和存储桌面的截图

String:提供处理字符串并验证它们内容的库。用于生成、修改和验证字符串

DateTime:日期和时间转换库,支持创建和验证日期和时间值以及它们之间的计算。

RobotFramework 外部库目前支持Appium、selenium等库

SeleniumLibrary : 提供支持 Web 测试库

AppiumLibrary: 提供支持 Android 和 ios 测试库

Robotframework-faker :提供支持 faker 库

HTTP RequestsLibrary :提供支持使用Python Requests库对HTTP测试

三、RobotFramework软件Ride

我们打开ride软件,可以在该界面上创建我们脚本。

编辑测试脚本,提供两种方式 表格形式 和 文本形式

如下,给出了Robotframework测试套件编写,文本结构

*** Settings ***
Documentation     RobotFramework 测试脚本
Suite Setup       log    套件前置步骤
Suite Teardown    Log    套件后置步骤
Test Setup        Log    测试前置
Test Teardown     Log    测试后置
Library           Dialogs

*** Variable ***
# Documentation    设置全局变量

*** Test Cases ***
test
    [Documentation]    测试用例
    log    hello world

*** Keyword ***
关键字
    [Documentation]    自定义关键字

套件前置步骤
    log    套件前置步骤


四、编写RobotFramework用例

1.创建项目New Project

注:选择directory原因是,在directory的项目下可以创建测试套件,如果是tpye为file,则只能创建测试用例,这不利于用例的管理。

2创建测试套件New Suit

右键点击Test,选择New Suit

注:选择file原因是,在file的测试套件下可以创建测试用例,如果是tpye为directory,还得重新再继续建file的测试套件,才能创建测试用例,因为测试用例只能在file类型下创建。

3.导入库

       RobotFramework默认是存在BuiltIn这个库的,利用这个库是可以完成一些基本的操作的,但如果要进行不同的测试就是要导入不同的库文件的,进行不同的测试需要的库文件大致如下表所示:

     在这里我们是要进行web自动化测试,因此我们在这里需要安装并导入Selenium2Library。

       在测试套件界面选择Library进行导入相应库的操作

 点击OK之后,如果导入成功则相应的库名会变成黑色,如果失败会变成红色

 

如果导入失败,在确保相应库安装成功的前提下,可能会存在以下几个问题:

        1.在python的pip(python的包管理)都有的前提下,到robotframework-selenium2library的Github官方代码托管网站:github.com/robotframew… setup.py install等待安装完成之后,进入RIDE,发现Selenium2Library可以加载成功,按F5,可以显示Selenium2Library的,安装完成。
2.加载Selenium2Library时为红色,在D:\Python27\Lib\site-packages目录下有Selenium2Library文件夹扔报错:
加载Selenium2Library 所需要的库的文件,存放在D:\Python27\Lib\site-packages:easy-install.pth文件中,需要的文件有:

import sys; sys.__plen = len(sys.path)

./pip-1.4.1-py2.7.egg

./robotframework_selenium2library-1.5.0-py2.7.egg

./docutils-0.11-py2.7.egg

./decorator-3.4.0-py2.7.egg

./selenium-2.40.0-py2.7.egg(当时是缺少这个文件)

Import  sys; new=sys.path[sys.__plen:];  del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)

我将缺少的那个文件名添加之后就没有问题了

       如果导入库有问题基本上以上两种方法都可以解决。

       导入库成功之后,可以点击F5查看相应的关键字

4.创建测试用例New Test Case

        右键点击测试套件,选择New Test Case

至此,一个测试用例就创建成功,接下来就可以在右侧的表格中进行相应的测试的编写 

5.编写测试用例

       其实对于web界面的自动化测试,编写测试用例的过程就有点类似于我们平时自己浏览网页时的过程,假如软件在浏览网页,而我们只需要告诉他们每一步接下来需要做些什么就可以了。

 

每一行的代表的意义如下:

用谷歌浏览器打开百度(这里应该注意的是,使用相应的浏览器需要下载相应的浏览器的驱动程序,例如使用谷歌浏览器可以去npm.taobao.org/mirrors/chr…
定位输入框,输入搜索关键字
定位提交按钮
休眠3秒
等待直到网页包含“计算机”
获取页面的标题
检查标题是否包含“计算机”
关闭浏览器

6.运行测试用例

        第一种方法,可以选择要测试的用例,然后点击上方的运行按钮(不选择测试用例,就是运行全部的测试用例)

 第二种方法,可以点击进入run界面点击Start按钮

 点击运行按钮之后,如果成功运行会出现如下界面:

通过成功运行后的界面我们可以发现生成了两个文件,分别是log.html(日志文件)和report.html(报告文件),通过这两个文件我们可以看到在测试用例执行的过程中相应的一些数据,以及在测试过程中开始的时间,结束的时间内,总消耗的时间,以及各个阶段所开始的时间,结束的时间,消耗的时间,通过输入相对应的路径我们就可以查看生成的相应的文件:

log.html

img img img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

开源项目:docs.qq.com/doc/DSlVlZExWQ0FRSE9H