JMeter—如何循环使用接口返回的多个值

网站建设4年前发布
23 0 0

2023030522091575f2f43146060e8c26b73758b1549ff931915d583,在用JMeter做接口测试的时候,经常会遇到这样一种情况:一个接口请求返回了多个值,然后下一个接口想循环使用前一个接口的返回值;第二种情况:只想循环请求前一个接口返回值中的随机不定长度的某一些值(并不想用全部的)。,今天,我就和大家讲解一下这两种情况的其中一个情况,我们如何用JMeter来实现的。,先说第一种情况:一个接口请求返回了多个值,然后下一个接口想循环使用前一个接口的返回值。,需求:有一个获取文件列表的接口,返回了所有的fileVersion,接下来,我就想把所有fileVersion作为下个登录接口用户名登录一遍。这种常见于企业中有一个获取商品列表的接口,就想验证下所有的商品详情信息是否都正常,是否存在无效商品。我们怎么做呢?,一:首先,在我们的获取文件信息列表接口,我们就在下面增加一个后置处理器——json提取器或正则提取器,提取所有fileVersion值。,20230305220917d21d741293f7fddfd15014abfa72533d3ce52c485,二:我们再添加一个逻辑控制 > 循环控制器。因为获取的fileVersion总数可能一直在变,不是一个固定值,所以,循环次数不能使用固定值。哪这个循环控制循环次数怎么配置呢?我们要使用上一步,json提取中变量名称加_matchNr这样的新变量。,20230305220917e6cc97715882f43c71c33165379caa45f9ac75767,三:在循环控制器下面添加print登录http请求。那此时又有个新问题了,有了循环次数,接口每次调用的时候,接口参数中手机号码如何自动更新值呢?我就加个计时器函数。当然,添加计时器也可以。userName的参数值写入${_v(mobilephone${_counter(,)})},其中,_v()为连接函数,mobilephone为json提取器生成的变量名称,“_”为连接符,${_counter(,)}为计数器函数。,20230305222740b992cf72409fcd9b0365357fedbb7f697a44fd697,四,添加察看结果树和汇总报告,点击运行,查看响应结果。,2023030522284067d57571456b9a6d826424e4f507d2160f86cd202,2023030522091831c4b7f24d05077cf204707df66649dc17b2f0572,总共有174个ffileVersion,最后,汇总报告中,显示的总取样次数也是174,说明我们的循环写法没有问题。

© 版权声明

相关文章