Jmeter(119)-函数threadNum妙用

在JMeter测试中,为实现多个用户每5秒查询一次数据的场景,遇到用户参数在循环中变化的问题。通过使用UserParameters和线程号结合Beanshell前置处理器,确保每个线程在3次循环中始终使用同一用户参数。当用户数量较大时,这种方法提供了扩展性。
摘要由CSDN通过智能技术生成

        今天的接口场景是:有N个用户需要每隔5秒去查询一次数据,也就是说N个用户会去循环执行同一个接口。一开始的时候将用户参数化时使用了counter,

 

要执行2个线程3次循环,发现每次循环时,接口中用户参数的数据就会不一样,变成了test1、test2、test3、test4、test5、test6,

如果使用csv也是这个效果,但是实际想要的是test1执行3次,test2执行3次。

        想到的第一个办法是,使用前置处理器User Parameters,定义参数user,值为test1和test2

 在请求中引用这个用户参数

再次执行2个线程3次循环,结果同预期第一个线程每次循环都是使用的test1

 

 但是如果需要的用户量特别大,那这种方法就不可行了。

想到了可以利用线程号作为参数,一个线程号就是一个用户。在函数助手中找到

 因为我们需要的用户名是以test开头,故和线程号组合,

log.info("test"+"${__threadNum}");

再将这个名称放入到变量中vars.put("user","test"+"${__threadNum}");

此时执行2个线程3次循环打印

 

 这样,如果需要使用100个用户,只需要加一个beanshell的前置处理器vars.put("user","test"+"${__threadNum}");

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

agrapea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值