如何在robotframework基础上使用数据驱动测试

一.写在前面

robotframework是很好用的关键字驱动测试框架,但是在实际工作中也有些地方使用不便,比如在我们设计参数校验测试case时,往往只是想修改校验参数类型而不得不做大量复制粘贴操作,最终导致了一个测试case中存在大量的冗余代码,而且如果在后续的使用中一旦出现变动,测试case将不便维护。

针对此情况,想到了尝试在robotframework功能基础上封装了一个轻型框架,用来实现部分接口测试场景的数据驱动方式的自动化测试。

二.所需组件说明

1.python2.7

2.robotframework

3.依赖库

Library RequestsLibrary

Library Collections

Library OperatingSystem

Library Process

Library String

Library XML

Library HttpLibrary.HTTP

Library DiffLibraryLibrary 

../CustomKeyword.py(自定义依赖库)等等

4.excel && txt

 

三.测试用例工程说明

test-xxx-xxx         //测试case工程名

--→data                               //测试数据文件夹

        ---->api-test.txt            //供测试框架获取数据

        ---->api-test.xls           //方便tester进行case设计编辑

--→testcase                        //测试框架文件夹

        ---->xxxxxx-api.txt  //接口测试框架

        --→start.sh                 //启动j脚本

CustomKeywork.py            //自定义关键字库

README.md                      //都知道

1.data文件夹中存放测试数据

2.testcase文件夹中存放测试用例实例,测试完成后的报告,启动脚本(其中txt文档为测试用例实例供robotframework调用,log.html,report.html,output.xml是测试报告,start.sh是启动脚本)

3.自定义测试库(一些测试用的函数)

data中存放的是具体接口的测试数据,可以使用excel对conf-api-test.xls进行配置也可以直接打开对应的txt进行编辑(注:最终工具执行测试时是读取txt文件,所以使用excel配置后需要用表格数据替换对应txt中的数据)

excel查看

不需要校验的内容使用?* 正则匹配掉

txt查看

其中数据分为四列

   第一列:用例名称

   第二列:用例执行开关(通过配置yes开启执行这条case,配置no不执行这条case)

   第三列: 输入数据(接口请求调用的数据)

   第四列:预期输出  

四.架构工作流程

五.代码说明

1.图形化关键字图表说明

调用库以及设置全局变量的操作不变

2.自定义关键字说明

3.第三方关键字说明

变量赋值关键字

字符串拼接关键字

变量运算关键字

if条件判断关键字

continue关键字

断言失败继续执行关键字

正则匹配断言关键字

4.使用GET请求方式的区别

需要在请求调用之前,需要将unicode类型的输入数据转换成字典类型

六.对比

使用前

使用后

测试报告

七.后续

1.添加测试输出录制功能;

2.标准化测试数据格式,可以实现多工具兼容使用;

等等等等

原文地址:https://www.cnblogs.com/flowertester/p/11355636.html