背景
紧接着上一篇文章Jmeter接口测试(二)(自动化-数据分离)未能解决数据分离问题,继续把jmeter接口测试深究下去……
1 简介
数据驱动测试,即是分离测试逻辑与测试数据,通过如excel表格的形式来保存测试数据,用测试脚本读取并执行测试的过程。
2 数据驱动与jmeter接口测试
我们已经简单介绍了接口测试参数录入及测试执行的过程,因为大量的测试脚本与测试数据内聚在一起,使得我们的测试脚本的可移植性及可维护性变得很不好,所以我们接下来采取了csv格式表格保存测试数据来驱动测试的方式。
2.1 新建csv文件
新建一个txt文档文件,重命名文件,修改文件后缀名为csv,如test1.csv,如下图
test.1csv2.2 用excel表格打开新建的csv文件,设计测试用例
用例设计2.3 设计测试脚本读取csv中的测试用例数据
2.3.1 线程组下新增循环控制器,循环次数设置为永远
循环控制器2.3.2 循环控制器下新增CSV Data Set ConFig控件
配置CSV Data Set Config2.3.3 添加如果控制器,来做用例优先级的筛选执行
设置优先级执行2.3.4 根据调用方法选择请求方式
通过if选择器区分GET与POST方法的请求,配置http请求
设置请求方式Post请求的配置方式 :post请求参数放在body data中
post请求Get 请求的配置方式:get请求的参数配置url后面
get请求2.3.5 配置响应断言
断言2.3.6执行测试,查看结果
通过查看结果树控件查看测试结果详情,绿色为通过
通过优先级H测试结果总结
通过以上方法,已经能够从本质上做到数据分离,且接口脚本只有很少的配置就可以了,所有数据都可以写入到一个csv文件里面,只要通过执行脚本,获取到csv文件,就可以把所有接口用例都跑一遍
配置get请求条件 执行get请求方式用例结果另外
1、配置元件:循环控制器、if控制器等等,这些可以在网上可以查到具体用法,这里就不作描述
2、CSV Data Set Config元件要获取csv文件,也可以通过相对路径去获得
例如: 1).\test1.csv #相对路径 2) C:\Users\zhuan\Desktop\test1.csv #绝对路径
3、if控制器可以不用组合起来,单独进行设置只执行某一条件下的所有用使用,例如只执行"${function}"=="GET"这条件下的所有用例
以上方法举例,都是比较简单的方式,实际工作中的接口量肯定会更复杂些,要灵活运用方法去使用到实际工作就好了
End
因为自己不够优秀而感到恐慌,所以不断努力向前!
如果您认为王子的简书中的某篇文章还不错或者有所收获,您可以通过正文下方的“赞赏支持”功能打赏,给我喝一杯咖啡的机会【物质支持】,也可以微信、微博分享,因为这两种支持都是我继续努力的动力!
未完,待续……
网友评论