一、背景
最近在进行某中台的接口测试准备,发现接口数量非常多,有6、70个,而且每个接口都有大量的参数并且需要进行各种参数验证来测试接口是否能够正确返回响应值。想了几种方案后,决定尝试使用JMeter的csv读取来实现批量的接口测试。
二、脚本编写
1、添加线程组
2、添加HTTP信息头管理器
添加必须的接口信息头,比如Appid、Authorization
3、添加HTTP请求
4、添加循环控制器
5、配置csv文件
定义传入的参数名称:
num:用例编号
apiSeq:功能序号
apiName:接口功能
classify:功能模块名称
api:接口地址
function:请求方法
parameter:请求体参数
expValue:预期结果
根据测试用例填写参数,如下表所示:
6、添加csv配置文件
将变量名称num,piSeq,apiName,classify,api,function,parameter,expValue按照英文逗号隔开;因为csv首行为参数名称,在参数设置中,忽略首行设置为True,同时设置遇到文件结束符停止线程。其他参数如下图所示:
7、设置HTTP请求参数
HTTP请求名称设置为:${num}${apiSeq}${apiName};
方法设置为:${function};
路径设置为:${url};
消息体设置为:${parameter}
8、添加断言
添加json断言,根据http请求返回结果,和预期结果${expValue}进行对比。
9、添加监听器
添加查看结果树,查看最后测试结果是否正确。
三、测试结果
预期结果和返回结果一致,结果树中显示为绿色,说明断言通过。下图展示一部分接口测试的结果:
四、总结
本期为大家介绍了JMeter使用csv读取参数的方式进行批量的接口测试,在项目时间紧急,测试时间比较短的时候使用,可以提升测试的效率。同时csv方便管理,可以根据测试用例随时进行补充,提高测试覆盖范围。如果有其他更方便的方法,欢迎与小编进行讨论。
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助
?