JMeter循环提取接口返回的某个字段的所有值

近日在使用JMeter编写压力测试脚本时,遇到一个情况:一个接口返回了了多条数据,每条数据都有不一样的id,而下一个接口需要循环调用上一个接口返回的id字段的所有值。

下面就对此情况的脚本实现进行说明:

一、给第一个http请求添加后置处理器

正则处理器、json处理器等均可,下文以正则处理器为例:

正则处理器提取参数,并将匹配数字设为-1,即可提取到所有的id

 二、添加循环控制器

循环次数改为${Id_matchNr},用正则提取器的变量名和_matchNr函数控制循环次数,使循环次数和id值的总数一致

 三、循环控制器下增加第二个http请求,并自动更新每次http请求的图片id值

在http请求的图片id的参数值处填写${__V(Id_${__counter(true,)})}

__V函数为连接函数;id是第一个http的正则提取器提取的变量名称;_为连接符,用来连接变量名称和计数器结果;__counter函数为计算器函数,True,确保每个虚拟用户的计数器保持独立,与其他用户的计数器相区别。False则为全局计数器

 

 四、添加监听器察看结果树、聚合报告等验证结果

 

以上就是实现JMeter循环提取接口返回的某个字段的所有值的办法。

posted @ 2020-12-25 17:39  林中有雨  阅读(2136)  评论(0编辑  收藏  举报