jmeter 如何循环使用接口返回的多值?

有同学在用jmeter做接口测试的时候,经常会遇到这样一种情况:

就是一个接口请求返回了多个值,然后下一个接口想循环使用前一个接口的返回值。

这种要怎么做呢?

有一定基础的人,可能第一反应就是先提取前一个接口返回的所有值,然后再用一个循环控制器,循环使用值就可以了啊。

对,非常棒,思路清晰,完全正确,但是做起来真的就这么简单吗?

好,现在加大一点难度:我只想循环请求前一个接口返回值中的随机不定长度的某一些值(并不想用全部的)。

这样的,好做吗?

今天,我就和大家讲讲,这两种,我们如何实现。

第一种,如:有一个获取用户列表的接口,返回了所有的用户信息,接下来,我就想把所有用户都登录一遍。这种常见于企业中有一个获取商品列表的接口,就想验证下所有的商品详情信息是否都正常,是否存在无效商品。我们怎么做呢?

首先,在我们的获取用户信息列表接口,看下接口返回信息的类型和用户手机号码字段名称,如果返回类型时json的,我们就在下面增加一个后置处理器------json提取器或正则提取器,提取所有用户的手机号码信息。

然后,我们再添加一个逻辑控制 > 循环控制器。因为获取的用户手机号码总数可能一直在变,不是一个固定值,所以,循环次数不能使用固定值。哪这个循环控制循环次数怎么配置呢?我们要使用上一步,json提取中变量名称加_matchNr这样的新变量。

然后,在循环控制器下面挂上下一个接口。那此时又有个新问题了,有了循环次数,接口每次调用的时候,接口参数中手机号码如何自动更新值呢? 这个问题,有经验的同学,可能会第一反应说,加个计时器。

对,是个好办法。但是,我呢,比较懒,不想去再添加一个计时器配置元件,我就加个计时器函数。

ok,万事俱备,只欠东风。run一下看下。

看到了吗?总共有1000个手机号码,最后,汇总报告中,显示的总取样次数也是1000,说明我们的循环写法没有问题。

第二种,我们想随机抽取所有用户中的随意长度用户,常见于企业中商品数量比较多,随机抽检任意多个商品,验证商品详情是否正常。

这样的,我们该如何做呢?

第一步,依然是在获取用户列表接口下面添加后置处理器------json提取器或正则提取器。只是,这次我们的提取写法不一样了。

第二步,依然是添加循环控制器,只是,又有一个新问题了,因为都是随机数,起始和终止值之间的差距不确定,循环次数也就不确定,哪这个循环次数如何设置呢? 这里我们引入一个intSum求和函数

第三步,同第一种方法的第三步完全一样(有同学可能会问,为什么会完全一样呢?留个大家自学研究,动手验证)。

最后,我们也来run一下,看看我们的结果。

是不是'碗豆腐',完美!

好了,这样一个技巧,你是否已经get到了呢?


【下面是我整理的2023年最全的软件测试工程师学习知识架构体系图】


一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(文末尾部小惊喜)

生命不息,奋斗不止。每一份努力都不会被辜负,只要坚持不懈,终究会有回报。珍惜时间,追求梦想。不忘初心,砥砺前行。你的未来,由你掌握!

生命短暂,时间宝贵,我们无法预知未来会发生什么,但我们可以掌握当下。珍惜每一天,努力奋斗,让自己变得更加强大和优秀。坚定信念,执着追求,成功终将属于你!

只有不断地挑战自己,才能不断地超越自己。坚持追求梦想,勇敢前行,你就会发现奋斗的过程是如此美好而值得。相信自己,你一定可以做到!

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
小钱c72 小时前
Mac下安装Apache JMeter并启动
jmeter·macos·apache
古人诚不我欺5 小时前
jmeter常用配置元件介绍总结之函数助手
jmeter
川石课堂软件测试5 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
古人诚不我欺5 小时前
jmeter常用配置元件介绍总结之取样器
jmeter
十叶知秋5 小时前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试
我非夏日5 小时前
JMeter基础篇
jmeter
阑梦清川6 小时前
在鱼皮的模拟面试里面学习有感
学习·面试·职场和发展
劲夫学编程7 小时前
leetcode:杨辉三角
算法·leetcode·职场和发展
茶馆大橘15 小时前
微服务系列五:避免雪崩问题的限流、隔离、熔断措施
java·jmeter·spring cloud·微服务·云原生·架构·sentinel
钱钱钱端17 小时前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·python·职场和发展·压力测试·postman