Robot Framework之测试用例分层实战

时间:2023-02-01 19:45:21

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

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

Robot Framework之测试用例分层实战

操作步骤:

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

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

Robot Framework之测试用例分层实战

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

操作步骤:

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

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

Robot Framework之测试用例分层实战

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

调整一:

Robot Framework之测试用例分层实战

Robot Framework之测试用例分层实战

调整二:

Robot Framework之测试用例分层实战

调整三:

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

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

封装的过程步骤如下:

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

Robot Framework之测试用例分层实战

Robot Framework之测试用例分层实战

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

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

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

封装的过程步骤如下:

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

1.4  测试用例的编写

过程步骤如下:

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

代码实现:

Robot Framework之测试用例分层实战

运行结果:

Robot Framework之测试用例分层实战

7.测试用例的验证。

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

步骤:

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

步骤:

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

Robot Framework之测试用例分层实战

2)新建一个新的login2

Robot Framework之测试用例分层实战

Robot Framework之测试用例分层实战

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

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

Robot Framework之测试用例分层实战

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

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

Robot Framework之测试用例分层实战

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

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

步骤:

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

Robot Framework之测试用例分层实战

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

Robot Framework之测试用例分层实战

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

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

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

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

【Force Tags】

【Default Tags】

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

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

步骤:

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

Robot Framework之测试用例分层实战

2.编写登录检查关键字

Robot Framework之测试用例分层实战

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

代码实现:

Robot Framework之测试用例分层实战

Robot Framework之测试用例分层实战

运行结果:

Robot Framework之测试用例分层实战

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