JMeter配置元件之计数器(Counter)

一、背景

在接口测试时,经常会存在构造测试数据的情况,比如构造年龄、电话号码等等,所以一般会用到计数器(Counter)配置元件。

组件的位置:测试计划或者线程组右键,Add->Config Element->Counter

二、计数器(Counter)

1、界面介绍

  • Name(控件名称):控件名称
  • Starting value(初始值):开始值或者初始值
  • Increment(递增值):每次迭代后,给计数器递增的值
  • Maxmum value(最大值):设置最大值
  • Number format(计数器格式):计数器格式
  • Exported Variable Name (引用变量名):计数器记录的值可以存到此变量中,供其他元件使用
  • Task counter independently for each user:不勾选,全局计数器,所有线程共用一个计数器。勾选后,每个线程都有自己的计数器
  • Reset counter on each Thread Group iteration:每次迭代复原计数器

2、全局计数器(不勾选)

不勾选Task counter independently for each user,全局计数器,所有线程共用一个计数器

  • 线程组内配置:这里将线程组内取样器循环3次,每秒生成2个用户

  • 取样器:打印线程号,以及随机数字

log.warn("线程号:"+ctx.getThreadNum()+",计数器的值:"+vars.get("var1"));

Task counter independently for each user不勾选

查看结果,执行两次后,发现每个线程,计数器均按递增规则生成数字,且不相同,但每次运行时都是从初始值开始递增。

3、独立计数器(勾选)

勾选Task counter independently for each user,非全局计数器,所有线程使用独立的计数器

查看结果,执行两次后,发现每个线程,计数器均按递增规则生成数字,也就是每个线程都是从初始值开始递增。

Reset counter on each Thread Group iteration勾选时,也就是每个线程组中的每次迭代,其计数器均从初始值开始递增。可以看到每个计数器的值均相同,基本不会用到这种配置。

三、总结

序号 Task counter independently for each user Reset counter on each Thread Group iteration 运行结果 说明
1 不勾选 不勾选 运行2次,每次运行时,计数器从初始值开始递增 全局计数器,所有线程共用一个计数器(常用)
2 勾选 不勾选 运行2次,每次运行时,每个线程计数器从初始值开始递增 每个线程单独使用一个计数器
3 勾选 勾选 运行2次,每次运行时,每个线程组每次迭代,其计数器均从初始值开始递增 不常用或者不用
posted @ 2022-09-05 21:53  xyztank  阅读(671)  评论(0)    收藏  举报