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

Robot Framework介绍

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

Robot Framework 自动化测试入门 (网易云课堂)_第1张图片
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 自动化测试入门 (网易云课堂)_第2张图片
Robot Framework脚本
Robot Framework 自动化测试入门 (网易云课堂)_第3张图片
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_RIDE
python3.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
Robot Framework 自动化测试入门 (网易云课堂)_第4张图片
Robot Framework 自动化测试入门 (网易云课堂)_第5张图片

定义列表:Create List

Robot Framework 自动化测试入门 (网易云课堂)_第6张图片
Robot Framework 自动化测试入门 (网易云课堂)_第7张图片

连接字符串:Catenate

Robot Framework 自动化测试入门 (网易云课堂)_第8张图片
Robot Framework 自动化测试入门 (网易云课堂)_第9张图片

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

Robot Framework 自动化测试入门 (网易云课堂)_第10张图片
Robot Framework 自动化测试入门 (网易云课堂)_第11张图片

分支语句关键字

Robot Framework 自动化测试入门 (网易云课堂)_第12张图片


Robot Framework 自动化测试入门 (网易云课堂)_第13张图片

循环语句关键字

Robot Framework 自动化测试入门 (网易云课堂)_第14张图片
Robot Framework 自动化测试入门 (网易云课堂)_第15张图片

强大的Evaluate

Robot Framework 自动化测试入门 (网易云课堂)_第16张图片

命令输入:

执行全部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").

Robot Framework 自动化测试入门 (网易云课堂)_第17张图片
Python语句
Robot Framework 自动化测试入门 (网易云课堂)_第18张图片
创建用户关键字

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

Robot Framework 自动化测试入门 (网易云课堂)_第19张图片
调用用户关键字

例2 带返回值的关键字:

Robot Framework 自动化测试入门 (网易云课堂)_第20张图片
Python语句
Robot Framework 自动化测试入门 (网易云课堂)_第21张图片
创建带返回值的add关键字


Robot Framework 自动化测试入门 (网易云课堂)_第22张图片
调用关键字, Result: $(c)=8
Robot Framework 自动化测试入门 (网易云课堂)_第23张图片
调用关键字, Result: 8

创建资源

创建:项目下右击New Resource>拖拽创好的用户关键字到资源文件中即可。
引用:在测试套件的Edit>Setting tab选择右边的Resource>添加资源即可。
Robot Framework 自动化测试入门 (网易云课堂)_第24张图片
添加资源

setUp/tearDown

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

setUp: Run before TC

tearDown: Run after TC

Robot Framework 自动化测试入门 (网易云课堂)_第25张图片
Robot Framework之Selenium2Library

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

安装Selenium2Library

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

导入到Robot Framework

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

Robot Framework 自动化测试入门 (网易云课堂)_第26张图片
导入Selenium2Library

基本关键字使用

Robot Framework 自动化测试入门 (网易云课堂)_第27张图片
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

Robot Framework 自动化测试入门 (网易云课堂)_第28张图片

调用一个get请求的接口

Robot Framework 自动化测试入门 (网易云课堂)_第29张图片


Robot Framework 自动化测试入门 (网易云课堂)_第30张图片

调用一个post请求的接口

Robot Framework 自动化测试入门 (网易云课堂)_第31张图片
Robot Framework系统关键字

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

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

分析robot framework系统关键字

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

例如:log关键字

Robot Framework 自动化测试入门 (网易云课堂)_第32张图片
log系统关键字

自己动手开发系统关键字

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

Robot Framework 自动化测试入门 (网易云课堂)_第33张图片

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

Robot Framework 自动化测试入门 (网易云课堂)_第34张图片

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

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

Robot Framework 自动化测试入门 (网易云课堂)_第35张图片
图片发自App

调用MyTestLibrary库

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

Robot Framework 自动化测试入门 (网易云课堂)_第36张图片

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

Robot Framework 自动化测试入门 (网易云课堂)_第37张图片

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

Robot Framework 自动化测试入门 (网易云课堂)_第38张图片

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

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

Robot Framework 自动化测试入门 (网易云课堂)_第39张图片














































你可能感兴趣的:(Robot Framework 自动化测试入门 (网易云课堂))