在做测试时,会遇到一种需求:在大量数据的情况下,数据不能重复或者需要自增,基于这种形式,我们可以考虑使用计数器。
计数器(counter): 计数器配置允许用户配置起始点,最大值和增量。 计数器将从开始循环到最大,然后从开始重新开始,继续进行,直到测试结束,计数器使用long存储的值,所取的范围是2^63——2^63-1。
下面按照步骤,具体的讲解一下如何使用计数器。
1、启动jmeter,添加线程组,右键添加配置元件——计数器
计数器界面如下:
下面,我们来具体讲解一下各个参数的含义:
启动值(Starting value):给定计数器的初始值,第一次迭代时,会把该值赋给计数器
递增(Increment):每次迭代后,给计数器增加的值
最大值(Maximum value):计数器的最大值,如果超过最大值,重新设置为初始值(Starting value),默认的最大值为Long.MAX_VALUE,2^63-1(PS:如果持续压测,建议不要设置最大值)
Number format:可选格式,比如0000,格式化为0001,0002;默认格式为Long.toString(),非必填,默认值为0。(PS:Format属性,就是类似于格式匹配,若这里设置了000000,而我要发送的是225,那么最终发送的数据会匹配成000225这个格式)
引用名称(Reference Name):用于控制在其它元素中引用该值,形式:name,其他参数需要引用,就写成${name}
与每用户独立的跟踪计数器(Track Counter Independently for each User):如果不勾选,则用户user1 获取值为1,用户user2获取的值可能为1+递增设置的数据;
但是一旦勾选,即独立的,每个用户有自己的值:比如用户user1 获取值为1,用户user2获取值为2,但是一旦设置的多长时间循环,那么用户1一直是1,用户2循环多少次仍然是2。
每次迭代复原计数器(Reset counter on each Thread Group Iteration):可选,在勾选“与每用户独立的跟踪计数器”时可用;
若勾选,则每次线程组迭代,都会重置计数器的值,当线程组是在一个循环控制器内时比较有用。
2、具体过程(待完善)
①计数器设置
②取样器设置
③结果树请求
从上图可以看出,计数器成功的生成了我们所需的值。
PS:以上就是计数器的使用方法;为了方便演示,请求地址和路径是随便选用的。