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

一.写在前面

二.所需组件说明

三.测试用例工程说明

四.架构工作流程

五.代码说明 

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

    2.自定义关键字说明

    3.第三方关键字说明

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

六.对比 

    使用前

    使用后

七.后续

一.写在前面

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.标准化测试数据格式,可以实现多工具兼容使用;

等等等等

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,907评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,805评论 19 139
  • 这次我们来分析代码拉~~ 测试实例代码分析 (注:本次分析代码较文章1中代码有部分改动,以本文为准) 1. RFS...
    GangGor阅读 11,619评论 0 9
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,152评论 2 89
  • 昨天上午带儿子上乐高,下午吃过午饭就到姐姐的小吃店里帮忙了,昨天第一天开业,生意还算不错,以前没有接触,以为做生意...
    海天阳阅读 1,486评论 0 0

友情链接更多精彩内容