我正在进行Jmeter负载测试。我想为下一个请求保持递增的计数器值,但是,计数器值再次重置为0

我正在进行Jmeter负载测试。我想为下一个请求保持递增的计数器值,但是,计数器值再次重置为0,jmeter,counter,performance-testing,load-testing,Jmeter,Counter,Performance Testing,Load Testing,我正在进行Jmeter负载测试。我希望为下一个并行请求[吞吐量控制器下定义的每个请求]保持递增的计数器值,但是,对于后续请求,计数器值再次重置为0 以下是我的测试计划的样子- +螺纹组 +计数器(从0开始,递增1;参考名称:索引) +吞吐量控制器[总执行:1] http request1-在请求中使用值为0的索引,这很好 +吞吐量控制器[总执行:2] http request2-应使用值为1和2的索引,但是计数器再次重置为0,并使用值0和1执行2次 +吞吐量控制器[总执行:3] htt

我正在进行Jmeter负载测试。我希望为下一个并行请求[吞吐量控制器下定义的每个请求]保持递增的计数器值,但是,对于后续请求,计数器值再次重置为0

以下是我的测试计划的样子-

+螺纹组

+计数器(从0开始,递增1;参考名称:索引)

+吞吐量控制器[总执行:1]

  • http request1-在请求中使用值为0的索引,这很好
+吞吐量控制器[总执行:2]

  • http request2-应使用值为1和2的索引,但是计数器再次重置为0,并使用值0和1执行2次
+吞吐量控制器[总执行:3]

  • http请求3-应使用值为3、4、5的索引;相反,也使用值0,1,2作为计数器重置
如何维护计数器值,以便使用所需的索引值运行这些请求


感谢您的帮助。

JMeter计数器中没有直接的功能来处理您的问题。您可以使用Beanshell sampler,也可以通过计数器解决方案处理您的场景,如下所述:

通过变量控制吞吐量控制器执行的数量

例如,创建3个变量:

Controller1_ExecutionTimes: 1
Controller2_ExecutionTimes: 2
Controller3_ExecutionTimes: 3
现在您可以使用这些变量来设置计数器的起点

  • 将计数器1的起点设置为0
  • 将计数器2的起点设置为${Controller1\u ExecutionTimes}
  • 将计数器3的起点设置为${Controller1\u ExecutionTimes}+${Controller2\u ExecutionTimes}
等等。

谢谢Arif


我使用了beanshell取样器,提取了计数器值并应用了逻辑来解决我的问题。

Hi Arif,感谢您对此的快速回复。但是,建议的解决方案并不能解决我的问题,由于某种原因,计数器无法识别为用户定义变量设置的值,也无法拾取其值。其行为与以前相同:(