标题
Jmeter与postman一样,都可以用来进行接口测试。
前面的文章( 测试工具介绍||Jmeter的简单使用),介绍了jmeter的下载、安装及简单使用。基于此背景,通过实例的形式,来介绍下如何利用jmeter进行接口测试。
实例信息
请求10次身份证归属地查询接口 ,提取响应数据的星座信息作为请求参数,给星座运势查询接口使用。下面是两个接口的基本信息。
1)接口A:身份证归属地查询接口
接口URL:http://api.tianapi.com/sfz/index
接口作用:接口返回身份证号码归属地(发证地)、生日、生肖、星座、性别信息。
接口信息:https://www.tianapi.com/apiview/112
2)接口B:星座运势查询接口
接口URL:http://api.tianapi.com/star/index
接口作用:查询十二星座每日运势,支持幸运色,工作指数,爱情指数。幸运色等等。
接口信息:https://www.tianapi.com/apiview/78
实例分析
1)请求10次,可以利用jmeter的‘线程组’元件实现循环
2)接口A每次的请求参数可以利用jmeter的‘CSV数据文件设置’元件实现数据驱动,实现每次请求时获取不同的请求参数
3)接口B的请求参数依赖接口A的响应数据,两个接口存在关联关系,可以通过jmeter的‘后置处理器‘元件获取目标数据
4)最后,为了验证结果,响应增加监听器组件(eq:查看结果树、聚合报告)来查看结果
接口测试实战
1) 添加线程组元件:测试计划->添加->线程组(用户)->线程组
2) 配置线程组元件:结合情景,线程数设置为1、循环次数设置为10即可满足要求
2 添加及配置HTTP请求元件
1) 添加HTTP请求元件:测试计划->线程组->添加->取样器->HTTP请求,因为一共有两个接口,所以需要增加两个HTTP请求元件
2)配置HTTP请求元件-A接口:结合A接口的接口信息,填写协议、域名、路径、请求方式、请求参数等信息。其中,由于接口A的参数值计划利用数据驱动实现,所以这里先填写对应参数的引用名
3)配置HTTP请求元件-B接口:结合B接口的接口信息,填写协议、域名、路径、请求方式、请求参数等信息。其中,由于接口B的参数值依赖于接口A的响应数据,所以这里先填写对应参数的引用名
3 接口A实现数据驱动
1) 准备CSV数据文件:根据需要,准备好对应的CSV文件,文件内容含所需的有效的key、idcard参数值
2)A请求的子节点下新增CSV数据文件设置元件并完成配置
a 添加目标元件
b 配置目标元件
4 接口A及接口B实现关联
1) 测试计划下,勾选‘独立运行每个线程组’,确保接口按顺序请求,避免出现接口B先于接口A请求导致接口B获取不到对应的请求参数值的现象
2)A请求的子节点下新增JSON提取器元件并完成配置
3)接口B直接通过参数名称调用即可
5 接口A、接口B增加断言
1) 接口A子节点下添加断言,断言方式为验证响应体中是否包含‘ “msg”:“success” ’信息
2) 接口B子节点下添加断言,断言方式为验证响应代码是否为200
6 增加监听器组件,监听结果
7 运行测试
1)查看聚合报告
2)察看结果树
a 同一组请求的A接口
b 同一组请求的B接口