美文网首页
Robot Framework 自动化测试入门 (网易云课堂)

Robot Framework 自动化测试入门 (网易云课堂)

作者: Xyin2018 | 来源:发表于2018-06-03 18:22 被阅读0次
    Robot Framework介绍

    Generic test automation framework for acceptance testing and ATDD. 通用的测试自动化框架,用于验收测试和(ATDD)验收测试驱动开发。

    Robot Framework 模块

    Robot Framework特点

    使用简单;

    非常丰富的库;

    可以像编程一样写测试用例;

    支持开发系统关键字;

    *可以很好的把自动化测试人员进行划分;

    Robot Framework库

    *Builtin: 提供了一组通常需要的通用关键字

    String: 生成、修改和验证字符串的库

    Screenshot: 提供关键字捕捉桌面截图

    XML: 生成、修改和验证xml文件的库

    DateTime: 日期和时间转换库

    第三方库:

    Web自动化测试: SeleniumLibrary, Selenium2Library, Selenium2Library for Java, watir-robot等

    Windows GUI测试:AutoItLibrary

    移动测试:Android library, ios library, Appium Library等

    数据库测试:DatabaseLibrary(Java), DatabaseLibrary(Python), MongoDBlibrary等

    文件对比测试:DiffLibrary

    HTTP测试:HTTP library(livetest), HTTP library(Requests)等

    ROBOT Framework与单元测试框架比较

    相同点:

    SetUP/tearDown

    提供测试套件(用于运行一组测试用例的集合)

    测试运行

    生成HTML测试结果

    不同点:

    语法:robot framework 自建语法;unit test使用Python语法

    支持库:robot framework支持特定库;unit test支持Python的任意库

    脚本对比:

    Robot Framework脚本 Unit test脚本
    Robot Framework安装

    RF准备

    Python2.x/Python3.: https://www.python.org/

    rf: https://github.com/robotframework/robotframework

    wxPython 2.8.12.1(win 32)(可选):http://soureforge.net/projects/wxpython/files/wxpython/2.8.12.1/

    robot framework-ride(可选):https://github.com/robotframework/RIDE

    运行

    运行rf脚本命令:.pybot

    rf编辑器 python2.x:推荐rf_RIDEpython3.x:rf_RIDE不支持rf_RIDE提供各种主流编辑器/IDE的插件:Emacs/Vim/Atom/Notepad++/Sublime/Eclipse/InteliJIDEA

    Robot Framework基础关键字
    Robot Framework的基础关键字封装在Builtin库中,它里面包含了最基础的一些关键字。例如:打印、定义变量、定义数组、时间、分支语句、循环语句、调用Python模块等。
    其他基础库:Dialogs, Collections, OperatingSystem, Remote, Screenshot, String, Telnet, XML, Process, DateTime
    定义变量:Set variable

    定义列表:Create List

    连接字符串:Catenate

    时间关键字:获取时间get time, 休眠时间sleep

    分支语句关键字

    循环语句关键字

    强大的Evaluate

    命令输入:

    执行全部TC:pybot base_keys.txt

    执行特定TC:pybot --test if base_keys.txt

    (base_keys.txt为测试套件名;if为指定用例名)

    Robot Framework用户关键字

    Robot Framework提供了用户关键字的概念,可以很好的减少测试脚本冗余。

    创建用户关键字

    创建:在robot framework中右击Add Suite("user_key")>在新建的测试套件下右击New User Keyword("myrange").

    Python语句 创建用户关键字

    引用:在测试套件下右击New Test Case("test_case")>引用keyword名称即可。

    调用用户关键字

    例2 带返回值的关键字:

    Python语句 创建带返回值的add关键字 调用关键字, Result: $(c)=8 调用关键字, Result: 8

    创建资源

    创建:项目下右击New Resource>拖拽创好的用户关键字到资源文件中即可。引用:在测试套件的Edit>Setting tab选择右边的Resource>添加资源即可。 添加资源

    setUp/tearDown

    New Test Case下通过用户关键字可设置setUp/tearDown.

    setUp: Run before TC

    tearDown: Run after TC

    Robot Framework之Selenium2Library

    Selenium是当前主流的Web自动化测试工具,它支持多浏览器与多种编程语言。Selenium2Library基于Selenium针对robot framework开发的一个库,用于Web自动化测试。

    安装Selenium2Library

    下载项目网址:https://github.com/robotframework/Selenium2Library

    导入到Robot Framework

    在Add Suite测试套件>Edit>Setting右边选择Library进行导入。

    导入Selenium2Library

    基本关键字使用

    Robot Framework之RequestLibrary(接口自动化测试)

    RequestLibrary基于Request针对robot framework开发的一个库。用于HTTP接口自动化测试。

    项目地址:https://github.com/bulkan/robotframework-requests

    安装Requests(基于Python): pip instal -u requests

    安装RequestLibrary: pip instal -v robotframework-requests

    调用一个get请求的接口

    调用一个post请求的接口

    Robot Framework系统关键字

    当我们要实现一些功能,而这些功能robot framework有没有提供相应的关键字,这个时候我们就可以自己通过Python开发关键字。

    关键字的本质是在robot framework的库中所开发的方法。

    分析robot framework系统关键字

    文件路径:python/Lib/site-packages/robot/librarys/Builtln.py

    例如:log关键字

    log系统关键字

    自己动手开发系统关键字

    在python/Lib/site-packages/robot/MyTestLibrary(自创库包-文件夹)/count.py中输入代码,使用sublime打开。

    可利用断言方法进行验证:

    将MyTestLibrary文件夹变成Python标准模块

    需要在文件夹下创建一个默认的_init_.py文件。

    Robot Framework 自动化测试入门 (网易云课堂)

    调用MyTestLibrary库

    ① 打开RIDE>创建新套件Mytest>引入MyTestLibrary: (黑色显示表明正确引入)

    ② 查看关键字:Tools>Search keywords(F5)>选择MyTestLibrary进行查看

    ③ 创建测试用例调用add, sub关键字

    勾选用例执行结果为:35 (unexpected!原因:在rf中输入的不管是字符串还是数字,都默认当成字符串处理!)

    ④ 修改关键字,将3和5转换成整型相加








    相关文章

      网友评论

          本文标题:Robot Framework 自动化测试入门 (网易云课堂)

          本文链接:https://www.haomeiwen.com/subject/yrbjsftx.html