说一下jmeter中,配置元件-计数器的使用。
如果需要引用的数据量较大,且要求不能重复或者需要自增,那么可以使用计数器来实现。
1、启动jmeter,添加线程组,右键添加配置元件——计数器,如下图:
添加完成如下图:
starting value:给定计数器的起始值、初始值
递增:每次迭代后,给计数器增加的值
Maximum value:计数器的最大值,如果超过最大值,重新设置为初始值(starting value),默认的最大值为Long.MAX_VALUE,2^63-1(如果持续压测,建议最好不要设置最大值)
Number format:可选格式,比如000,格式化为001,002;默认格式为Long.toString(),但是默认格式下,还是可以当作数字使用
引用名称:用于控制在其它元素中引用该值,形式:$(username}
与每用户独立的跟踪计数器():全局的计数器,如果不勾选,即全局的,比如用户#1 获取值为1,用户#2获取值还是为1;
如果勾选,即独立的,则每个用户有自己的值:比如用户#1 获取值为1,用户#2获取值为2。
Reset counter on each Thread Group Iteration:可选,仅勾选与每用户独立的跟踪计数器时可用;
如果勾选,则每次线程组迭代,都会重置计数器的值,当线程组是在一个循环控制器内时比较有用。
2.具体使用:
如图,我设置的初始值是1,格式解读为00,最大值是100,没迭代一次增值1,引用的名字为:${index};
在取样器中的设置如下:
在BodyData中,可以看到发送的数据如下:
第一次迭代:
第二次迭代:
从以上图可以看出,计数器成功的生成了我们所需要的数值。
如果勾选了与每用户独立的跟踪计数器,则index 数值保值不变
第一次迭代:
多次迭代还是一样的值:
具体测试例子设置截图:
1.计数器参数设置(同一个现成组下可以添加多个http请求,只设置一个计数器)
2. http 请求参数设置