当前位置: 首页 > 科技观察

JMeter—如何回收接口返回的多个值_0

时间:2023-03-15 13:38:56 科技观察

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