『动善时』JMeter基础 — 18、JMeter配置元件【计数器】
1、计数器介绍
如果需要引用的数据量较大,且要求不能重复或者需要自增,那么可以使用计数器组件来实现。
计数器组件中的数据,允许在一个线程组之内都可以被引用。
2、计数器界面详解
添加计数器组件的操作:选中“线程组”右键 —> 添加 —> 配置元件 —> 计数器
。
计数器界面如下:
计数器组件的详细说明:
- 名称:计数器组件的自定义名称,见名知意最好。
- 注释:即添加一些备注信息,对该计数器组件的简短说明,以便后期回顾时查看。
Starting value
:给定计数器的起始值、初始值,long
整型,默认是0。- 递增:每次迭代后,给计数器增加的值。默认是0,表示不增加。
Maximum value
:计数器的最大值。如果超过最大值,计数器会被重新设置为初始值(Starting value
),默认的最大值为Long.MAX_VALUE,2^63-1
,包含此值。如果持续压测,建议最好不要设置最大值。Number format
:数字格式,比如设置为000,会格式化为001,002。默认格式为Long.toString()
,但是默认格式下,还是可以当作数字使用。- 引用名称:用于控制在其它元素中引用该值,形式:
${username}
。也就是计数器值的引用名称。 - 与每用户独立的跟踪计数器:也就是说,指定该计数器是全局的计数器,还每个用户拥有自己独立的计数器。
如果不勾选,即为全局的计数器,比如线程组#1 获取值为1,线程组#2获取值为2,也就是所有的线程组使用一个计数器。
如果勾选,则为独立计数器,每个线程组单独计数,比如线程组#1 获取值为1,线程组#2获取值还是为1。 Reset counter on each Thread Group Iteration
:在每个线程组迭代上重置计数器,仅勾选与每用户独立的跟踪计数器时可用。如果勾选了,每次线程组迭代,都会重置计数器的值。当线程组是在一个循环控制器内时比较有用。
3、计数器的使用
(1)测试计划内包含的元件
添加元件操作步骤:
- 创建测试计划。
- 创建线程组:
选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
。 - 在线程组中添加配置元件"计数器"组件:
选中“线程组”右键 —> 添加 —> 配置元件 —> 计数器
。 - 在线程组里面添加取样器“HTTP请求”组件:
选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
。 - 在线程组里面添加监听器“察看结果树”组件:查看结果,
选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树
。
最终测试计划中的元件如下:
点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。
提示:如果有多个线程组,需要使用同一个计数器组件,就把计数器组件提到和线程组同一级。
(2)线程组界面内容
我们定义循环次数为3,也就是进行3次该请求。(可以修改线程数)
(3)计数器界面内容
计数器界面中,我们定义起始值为1,然后每次递增5个数,计数器的最大值为999,输出格式为000。
计数器变量的引用名称为counterName
,之后我们使用${counterName}
的方式,就能够引用该值了。
如下图所示:
(4)HTTP请求界面内容
我们在HTTP请求界面中可以引用计数器的值,可以写在任何可输入的位置。
如下图所示:
(5)查看结果
我们可以看到下图中,从001开始,每次递增5个数,都在请求中显示了。
证明计数器成功的生成了我们所需要的数值。
以上就是JMeter中计数器组件的使用方法。