Jmeter(119)-函数threadNum妙用

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

Jmeter(119)-函数threadNum妙用_第1张图片 

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

Jmeter(119)-函数threadNum妙用_第2张图片

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

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

Jmeter(119)-函数threadNum妙用_第3张图片

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

Jmeter(119)-函数threadNum妙用_第4张图片

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

Jmeter(119)-函数threadNum妙用_第5张图片 

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

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

Jmeter(119)-函数threadNum妙用_第6张图片

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

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

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

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

Jmeter(119)-函数threadNum妙用_第7张图片

 

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

        

你可能感兴趣的:(Jmeter,jmeter)