1、计数器介绍

如果需要引用的数据量较大,且要求不能重复或者需要自增,那么可以使用计数器组件来实现。

计数器组件中的数据,允许在一个线程组之内都可以被引用。

2、计数器界面详解

添加计数器组件的操作:选中“线程组”右键 —> 添加 —> 配置元件 —> 计数器

计数器界面如下:

『动善时』JMeter基础 — 18、JMeter配置元件【计数器】-LMLPHP

计数器组件的详细说明:

  • 名称:计数器组件的自定义名称,见名知意最好。
  • 注释:即添加一些备注信息,对该计数器组件的简短说明,以便后期回顾时查看。
  • 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)测试计划内包含的元件

添加元件操作步骤

  1. 创建测试计划。
  2. 创建线程组:选中“测试计划”右键 —> 添加 —> 线程(用户) —> 线程组
  3. 在线程组中添加配置元件"计数器"组件:选中“线程组”右键 —> 添加 —> 配置元件 —> 计数器
  4. 在线程组里面添加取样器“HTTP请求”组件:选中“线程组”右键 —> 添加 —> 取样器 —> HTTP请求
  5. 在线程组里面添加监听器“察看结果树”组件:查看结果,选中“线程组”右键 —> 添加 —> 监听器 —> 察看结果树

最终测试计划中的元件如下:

『动善时』JMeter基础 — 18、JMeter配置元件【计数器】-LMLPHP

点击运行按钮,会提示你先保存该脚本,脚本保存完成后会直接自动运行该脚本。

(2)线程组界面内容

我们定义循环次数为3,也就是进行3次该请求。(可以修改线程数)

『动善时』JMeter基础 — 18、JMeter配置元件【计数器】-LMLPHP

(3)计数器界面内容

计数器界面中,我们定义起始值为1,然后每次递增5个数,计数器的最大值为999,输出格式为000。

计数器变量的引用名称为counterName,之后我们使用${counterName}的方式,就能够引用该值了。

如下图所示:

『动善时』JMeter基础 — 18、JMeter配置元件【计数器】-LMLPHP

(4)HTTP请求界面内容

我们在HTTP请求界面中可以引用计数器的值,可以写在任何可输入的位置。

如下图所示:

『动善时』JMeter基础 — 18、JMeter配置元件【计数器】-LMLPHP

(5)查看结果

我们可以看到下图中,从001开始,每次递增5个数,都在请求中显示了。

证明计数器成功的生成了我们所需要的数值。

『动善时』JMeter基础 — 18、JMeter配置元件【计数器】-LMLPHP

以上就是JMeter中计数器组件的使用方法。

05-23 12:55