robot framework自动化测试参考手册

RobotFramework的一些特性

•易于使用,采用表格式语法,统一测试用例格式;

•重用性好,可以利用现有关键字来组合新关键字;

•支持变量;

•支持创建基于数据驱动的测试用例。

•结果报告和日志采用HTML格式,易于阅读;

•提供标签以分类和选择将被执行的测试用例;

•平台、应用无关;

•功能全面,支持WEB测试(Selenium)、Java GUI 测试、启动线程、SSH等;

•易于扩展,提供了简单API,用户可以自定义的基于Python或者Java的测试库;

•易于集成,提供了命令行接口和基于XML的输出文件;

•易于与版本管理集成;

RobotFramework本地环境搭建

一、安装Python2.7

官网下载安装包,安装配置环境变量即可

地址:https://www.python.org/downloads/

环境变量:Path值加D:\ProgramFilesW\Python27;D:\ProgramFilesW\Python27\Scripts

(更改为您指定路径即可)

二、安装pip

在安装python的Scripts路径下执行cmd命令

D:\ProgramFilesW\Python27\Scripts

easy_install pip

三、安装wxPython

在安装python的Scripts路径下执行cmd命令

pip install  wxPython

不行就卸载

pip uninstall  wxPython

安装wxPython2.8

下载地址:https://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/

四、安装robotframework

在安装python的Scripts路径下执行cmd命令

pip install robotframework

五、安装 robotframework-ride

在安装python的Scripts路径下执行cmd命令

pip install robotframework-ride

六、安装library

建议安装

pip install robotframework-selenium2library

pip install requests

pip install robotframework-requests

pip install robotframework-httplibrary

可选安装

pip install robotframework-archivelibrary

pip install robotframework-SSHLibrary

pip install robotframework-ftplibrary

七、安装浏览器驱动

执行robotframework-selenium2library UI测试用例时,需要安装浏览器驱动。

chrome浏览器驱动官方下载地址:

https://chromedriver.storage.googleapis.com/index.html?path=2.33/

下载后配置到环境变量即可

Path增加值D:\ProgramFilesW(chromedriver.exe存放路径)

测试用例编写和执行环境

RIDE是RobotFramework用例的一个编写、执行工具。本地环境搭建完成后,双击D:\ProgramFilesW\Python27\Scripts\ride.py启动。工具本身不是很复杂,很容易上手。

我把RIDE的界面大致分了四个区域:菜单栏、工具栏、案例及资源区、工作区,如下图。

robot framework自动化测试参考手册

RIDE编写测试用例

首先点击File-New Project

robot framework自动化测试参考手册

从Tpye上来说,分为文件和目录两种,一般先建目录,然后再在目录下建Suite。Parent Directory为当前工程要新建的路径。Format默认为 ROBOT即可。

接着新建Suite

robot framework自动化测试参考手册

robot framework自动化测试参考手册

接着新建第一个test case,一个test Suite下可以有n个test case

 robot framework自动化测试参考手册

robot framework自动化测试参考手册

这样,就可以开始编写你的测试用例了

robot framework自动化测试参考手册

还提供了纯文本的编写窗口,有很严格的格式要求

robot framework自动化测试参考手册

 

RIDE执行测试用例以及查看报告

编写完成后可以在run的窗口执行测试用例,可以加上参数执行,执行完成后可以查看报告和日志

robot framework自动化测试参考手册

比如下图是一个编写好的测试用例

robot framework自动化测试参考手册

文本窗口展示的用例是

robot framework自动化测试参考手册

执行其中两个test case完成后生成报告

robot framework自动化测试参考手册

点击Report可以查看html版的报告

 

robot framework自动化测试参考手册

IDEA编写测试用例

当有了一定量的用例积累且对RF用例编写比较熟悉了之后,建议可以使用IDEA结合RF插件来编写测试用例。具备智能显示、关键字提示、变量跳转能功能,对用例编写效率有很大的提升。

robot framework自动化测试参考手册

 

robot framework自动化测试参考手册

IDEA robot framework插件安装

Robot Framework support 和Robot Plugin

robot framework自动化测试参考手册

UI自动化测试用例辅助工具安装

另外编写UI自动化测试用例的时候可以借助chrome浏览器插件辅助快速编写,chrome商店(可能需要翻墙)都可以快速安装。

前端UI脚本录制工具:Robotcorder

robot framework自动化测试参考手册

CSS 和 XPath校验工具: CSS and XPath checker

robot framework自动化测试参考手册

自动化测试用例编写规范

对于自动化案例来说,最大的难度不是在于怎么做案例,而是怎么维护案例。因为随着需求的更新,系统的流程或者页面会发生很多的变化,这时候的维护成本的高低才是我们首要考虑的,如果自动化案例建立起来之后,没有后续维护的投入,最终经过若干个版本,这些自动化案例基本就是废弃的了。这样做的好处不单是为了以后维护方便,也使得案例的架构层级清晰。越是靠近上层的部分,脚本越贴近自然语言,或者说很像我们的测试案例;越靠近下层的部分,越是接近页面元素的代码级部分。这样以后如果发生维护的时候,根据需要维护的内容,只需要在很少的地方进行调整即可

测试用例与数据资源解耦

将测试用例编写用到数据变量化,抽取到资源文件中,所以用例目录结构规划如下

robot framework自动化测试参考手册

 

robot framework自动化测试参考手册

 

一个测试用例编写在对应功能的目录下,按照大类做基本区分,大类下可以根据实际情况添加文件夹,建议不超过一级。

robot framework自动化测试参考手册

 

测试用例对应的数据、元素选择器、局部关键字等资源存放在用例对应大类的资源文件夹下,按照数据.robot、元素.robot进行分类。三类资源文件被大类下的资源.robot引用,大类下的资源.robot被工程下的资源.robot引用,同时引用SeleniumLibrary、BuiltIn、自定义类库、自定义关键字。具体情况如下图:

 

robot framework自动化测试参考手册

 

测试数据对应工程环境

根据测试环境的不同,测试数据按照资源文件夹进行区分,最终修改被引用的资源文件,实现本地快速切换环境数据。如下图:

robot framework自动化测试参考手册

robot framework自动化测试参考手册

robot framework自动化测试参考手册

测试用例存放与命名

测试用例按功能分类存放,测试用例命名:

采用中英文命名,不要包含特殊字符

要简洁的描述测试用例的测试功能。

例如

robot framework自动化测试参考手册

 

 

 

测试用例划分规则

一个基础的业务场景作为一个测试用例,拿登录功能举例:

若将登录作为一个测试套件,

1、输入错误的用户名和密码进行登录为一个业务场景,作为一个测试用例(其中包含了以下步骤:在输入框中输入用户名,在密码框中输入密码,点击登录按钮,接受反馈信息)

2、输入正确的用户名和密码进行登录为一个业务场景,作为一个测试用例(其中包含了以下步骤:在输入框中输入用户名,在密码框中输入密码,点击登录按钮,接受反馈信息)

变量命名方式与Location值规范

  1. 页面元素变量命名按照 大类 开头,功能点逐级划分 进行命名,数据命名在这之后加上 输入值 或者 值 进行命名。如 ${集成管理页_创建系统_系统名称_输入框} 大类开头可以方便查找、引用变量,功能点逐级划分可以降低变量重复率。
  2. 变量对应的Location值要做到兼容多个环境

例如:

错误写法:xpath=//*[@id="wrapper"]/div[9]/div/div/div[2]/div[1]/div/div[2]/div/a 

正确写法://select[@id="addEnvChoose"]

测试用例要遵守闭环规则

如:创建流水之后要进行流水的删除操作,删除操作和创建操作应该分为两个测试用例,防止单用例阻塞。同时保证用例可以重复执行

编写用例自测通过后才可可以提交至gitlab

测试用例工程,通过gitlab来管理,可以和代码放在一个仓库,也可以单独存放到一个gitlab仓库。

功能变更人实时维护对应测试用例

随着需求的更新,系统的流程和功能或者页面会发生很多的变化,需要实时去维护测试用例,建议功能变更人维护对应的测试用例。

上线之前保证测试用例成功率

在项目上线当天要保证测试用例在准发环境成功率达到100%,出现问题之后根据实际情况修改测试用例或者代码,临近上线时可选择进行手工验证代替测试失败的用例。

日常需要保证测试用例成功率100%,由相关编写人员进行维护。