Robot Framework之测试用例分层实战

1.1  测试用例的第一层(交互层)

1. 创建项目资源(Resource)。

操作步骤:

点”项目名称”->右键,选New Resource,在弹窗Name 输入框输入资源名称 mykeywork->新建项目资源。

2.给新建的项目资源导入Selenium2Library库。

3.创建自定义关键字(New User Keyword)。

操作步骤:

点”项目资源”->右键,选New User Keyword,在弹窗Name 输入框输入资源名称 打开浏览器->新建用户关键字。

4.给新建的用户关键字(打开浏览器),添加操作步骤。

5.新建用户自定义关键字(最大化浏览器)。

6. 新建用户自定义关键字(输入用户名)。

7. 新建用户自定义关键字(输入密码)。

8. 新建用户自定义关键字(点击登录)。

这样我们就把实现教育局招生系统的登录系统拆分成5个自定义的关键字。接着我们新建一个测试用例,通过自定义的关键写教育局招生系统的登录步骤。

9.新建一个登录的New Suite->新建一个login用例->把自定义关键字资源(mykeywork)导入进来。

10.用用户自定义关键字的关键字写登录步骤。

11.运行用用户自定义关键字的关键字写的测试用例,查看测试结果。

有的时候,打开浏览器或者登录的用户名可以不一样,那么就需要我们去改程序,为了更加灵活,我们可以在新建自定义关键字(New User Keyword)的时候,把经常需要改变的值进行参数化。

调整一:

调整二:

调整三:

经过参数化之后,测试用例也是需要做相应的调整,如下:

上面整体的例子说明:我们不但要把操作步骤拆分离,而且还要做到数据和代码分离。

1.2  测试用例的第二层封装(页面层)

封装的过程步骤如下:

1. 点”项目名称”->右键,选New Resource,在弹窗Name 输入框输入资源名称 page.txt->新建项目资源。

2.给新建的项目资源导入Selenium2Library库。

3.把交互层的关键字(mykeywork)资源导入到page层中

4.创建page层关键字(点page.txt资源->右键->新建自定义关键字New User Keyword(登录页面))。

5.对登录页面关键字的数据进行参数化。

这样我们就把page层登录页面关键字封装好了。

补充说明:整个项目的page层有很多页面关键字,这里只是举例了登录一个关键字,其实每层都可以根据需要封装不同的关键字的。

1.3  测试用例的第三层封装(流程层)

封装的过程步骤如下:

1. 点”项目名称”->右键,选New Resource,在弹窗Name 输入框输入资源名称 flow.txt->新建项目资源。

2.给新建的项目资源导入Selenium2Library库。

3.把交互层的关键字(mykeywork)资源导入到流程层中

4.把页面层的关键字(page)资源导入到流程层中。

5.建流程层关键字(点flow.txt资源->右键->新建自定义关键字New User Keyword(登录流程))。

6.流程层关键字步骤封装

7.流程层关键字数据参数化

到这里,3层的关键字基本已经封装好了,我们就可以写测试用例了。

1.4  测试用例的编写

过程步骤如下:

1.新建一个New Suite(测试套件)登录

2. 给登录(测试套件)导入Selenium2Library库

3. 把交互层的关键字(mykeywork)资源导入到登录(测试套件)中

4.把流程层的关键字(flow)资源导入到登录(测试套件)中。

5.新建测试用例(新建一个登录的New Suite->新建一个login用例)。

6.登录测试用例的实现。

代码实现:

运行结果:

7.测试用例的验证。

项目例子一:(登录成功的验证)

步骤:

1)在交互层的mykeywork.txt资源中添加一个用户自定义关键字(检查登录成功)

2)修改之前的测试用例,简化用例。

项目例子二:(登录失败的验证)

步骤:

1)在交互层的mykeywork.txt资源中添加一个用户自定义关键字(检查失败成功)

2)新建一个新的login2

7. project(项目)、Suite(模块)、Test case(测试用例)的Settings项设置。

project(项目)Suite模块(测试套件)、 Test case(测试用例)都有一个Settings项,下面对Settings项的各个字段说明:

【Suite Setup】设置测试套件下所有的测试用例Setup项,假如在这里设置了关键字,也就是每个测试用例开始的时候都调用这个关键字。

项目例子:每个用例的开始,默认打开浏览器。

【Suite Teardown】设置测试套件下所有的测试用例Teardown项,假如在这里设置了关键字,也就是每个测试用例结束的时候都调用这个关键字。

项目例子:有些用例可能没有执行到最后,就失败了,导致浏览器没关闭,这样我们就可以在这里加一个关键字,假如用例执行失败,关闭浏览器。

步骤:

1)在交互层的mykeywork.txt资源中添加一个用户自定义关键字(测试失败时候调用)

2)设置测试套件下所有的测试用例Teardown项

【Test Setup】设置单个的测试用例Setup项。

【Test Teardown】设置单个的测试用例Teardown项。

【Test Template】设置单个的测试用例模板,这个用的比较少。

【Test Timeout】设置单个的测试用例超时时间,每个步骤都超时设置的时间。

【Force Tags】

【Default Tags】

1.5  继续封装测试用例关键字

项目例子一:登录时候不需要关注是登录成功还得失败,那就需要再封装关键字

步骤:

1.在page层创建一个新的关键字(登录检查)

2.编写登录检查关键字

3.创建一个新的用例login3。

代码实现:

运行结果:

备注:失败的例子,就把Pass 改成Fail 就可以了。

时间: 2024-09-26 20:10:04

Robot Framework之测试用例分层实战的相关文章

Robot framework之元素定位实战

1.1  id 和name 定位 Web页面都是由许多标签和元素组成的,每个标签或元素都是很多属性,好比一个人   id 和name 可以看作一个人的身份证号和姓名.下面看下教育局招生系统的用户名输入框的标签id 和name属性值. <input id="txtUserName" class="form-control account-input" type="text" required="" name="a

robot framework 使用五:CentOS上运行robot framework 并自动发送测试结果

操作系统版本:centos 6.0  x86_64 想要在linux上运行robot framework的测试用例,需要安装以下工具和软件: 1.安装python 2.7.6 ,首先python --version 查看系统是否装有python,并且python的版本是不是我们要用的 Python 2.6.5 说明已经装有python 2.6.5,下载python2.7.6,下载地址:https://www.python.org/download#pubkeys  选择:Python 2.7.6

Robot Framework: 自定义自己的python库

利用Robot Framework编写测试用例,往往需要开发自己的关键字,有的关键字需要通过自己编写python代码来实现.这在rf中,就需要自己定义python库.这个过程其实不复杂,本文来介绍下. 1.在python安装目录下的 Lib\site-packages 目录下 新建一个目录,目录名就是库名,如 NewLibrary 2.在新建的NewLibrary目录下创建一个python文件,任何合法的文件名即可,扩展名为py.如:myclass.py 其内容如下 class MyClass(

Robot Framework 快速入门

Robot Framework 快速入门 目录 介绍 概述 安装 运行demo 介绍样例应用程序 测试用例 第一个测试用例 高级别测试用例 数据驱动测试用例 关键词keywords 内置关键词 库关键词 用户定义关键词 变量 定义变量 使用变量 组织测试用例 测试套件 启动和卸载 使用标签 创建测试库 介绍概述 Robot Framework 是一个关键词驱动的自动测试框架.测试用例位于HTML或者TSV(以tab分隔值)文件,使用在测试库中实现的关键词来在测试中运行程序.因为Robot Fra

Robot Framework简介

目录 Robot Framework框架简介 Robot Framework特点 Robot Framework测试类型即对应的类库 测试项目与测试套件的概念 Robot Framework框架简介 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行.主要用于轮次很多的验收测试和验收测试驱动开发(ATDD). Robot Framework的测试用例位于HTML或者TSV(以t

Robot Framework自动化测试(四)--- 分层思想

谈到Robot  Framework 分层的思想,就不得不提“关键字驱动”. 关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同. 在上一节的selenium API 中所介绍的方法其实就是关键字,如“open browser” 就是一个关键字.从底层去看它就是一个通过编程去现实的一个方法. def open_browser(url,browser): #通过browser找到相应的浏览器驱动,调用浏览器,借助python的httplib.urllib模块将url传递给浏览器.从而实现o

如何编写Robot Framework测试用例1---(基本格式篇)

引子 我们使用符合Robot Framework规范的一种表格语法来编写测试用例.用例一般会是下面这个样子 这样的表格存储到一个文件中,就是一组测试用例.RF支持多种格式,如HTML,TSV,纯文本等.它们长相大同小异,其实描述的都是一种内容.为了方便,推荐使用RIDE这个用例的编辑工具来编写测试用例,这些文本在RIDE环境下被打开长得是一个样子的. 测试用例与文件的关系 一个文件被称作一个测试套件(Test suit),期间可以包含多个测试用例.上图就是一个测试套件,里面包含2个测试用例,My

Robot Framework 实战中学习(一)

Robot Framework 自动化框架可以实现的功能及其丰富,首先从Web自动化开始总结学习(由于引用Selenium2Library,因此与Selenium页面元素定位及操作类似),后面也会依次总结学习截图式的图形脚本语言(适用C/S端自动化),用户体验很不错的方式,当然还有移动端的自动化测试. 1.环境已经准备好参考<Robot Framework 环境搭建>,双击C:\Python27\Scripts\ride.py启动Robot - RIDE: 2.单击RIDE左上角File --

Robot Framework(九) 执行测试用例

3.1基本用法 Robot Framework测试用例从命令行执行,默认情况下,最终结果是XML格式的输出文件和HTML 报告和日志.执行后,可以组合输出文件,然后使用rebot工具进行后处理. 3.1.1开始测试执行 概要 指定要执行的测试数据 3.1.2使用命令行选项 使用选项 短期和长期期权 设置选项值 选项值为简单模式 3.1.3测试结果 命令行输出 生成的输出文件 退货代码 执行期间的错误和警告 3.1.4转义复杂的字符 3.1.5参数文件 3.1.6获取帮助和版本信息 3.1.7创建