快捷搜索: 王者荣耀 脱发

【接口测试】JMeter接口关联测试

1 前言

我们来学习接口管理测试,这就要使用到JMeter提供的JSON提取器和正则表达式提取器了,下面我们来看看是如何使用的吧。

2 JSON提取器

1、添加JSON提取器

在线程组右键 > 添加 > 后置处理器 > JSON提取器

2、JSON提取器参数说明

Names of created variables:这是提取值后存储的变量名,用于后面的引用。

JSON Path expressions:JSON提取值表达式,详细看下方。

Match No.(0 for Random):0随机;n取第几个匹配值;-1匹配所有,后续引用用 变量名_N 取第N个值。

Default Values:匹配失败时候的默认值,可以给error也可以给0,根据情况调整。

3、JSON path表达式

JSON串 []表示对象组成的数组,{}表示对象。

例如要获取id,可写$.data.id,$表示根元素,然后一级级属性往下去找,先找到data,再往下子节点找到id;也可写$..id,直接从根元素去递归查找到id;如果只有1级目录,直接$.msg即可;获取token同理。

可设置查看格式为JSON Path Tester,在下方进行JSON路径表达式测试。

4、JSON path提取多个值

JSON路径表达式,分号隔开。

注意:下面所有参数都得是**;**的格式,否则会出现越界的报错!

3 正则表达式提取器

1、添加正则表达式提取器

在线程组右键 > 添加 > 后置处理器 > 正则表达式提取器

2、正则表达式参数说明

引用名称:这是提取值后存储的变量名,用于后面的引用

正则表达式:使用正则表达式解析响应结果。举例:获取【"PID": "test2656489"】里面的【test2656489】,表达式为:"PID":"(.+?)"。

():括起来的部分就是要提取的

.:匹配任何字符串

+:一次或多次

?:不要太贪婪,在找到第一个匹配项后停止

模板:$1$是指取第一个()里面的值,如果在正则表达式中有多个正则表达式,则可以是$2$ $3$ $n$等等,表示解析到的第n个值。

匹配数字(0表示随机):正则表达式匹配数据的结果可以看做一个数组,表示如何取值:0代表随机取值,正数n则表示取第n个值(比如1代表取第一个值),负数则表示提取所有符合条件的值。

缺省值:匹配失败时候的默认值,可以给error也可以给0,根据情况调整。

3、添加Debug Sampler(调试取样器)

在线程组右键 > 添加 > 取样器 > Debug Sampler,通过Debug Sampler来测试是否表达式是否正确。

4 总结

做接口关联测试重要的是梳理出接口之间的调用逻辑,然后提取响应并传输到下一个接口,掌握上面2种提取器的使用,我们就可以愉快的进行接口关联测试了。

经验分享 程序员 微信小程序 职场和发展