繁体   English   中英

在 jmeter 中的循环 controller 的每次迭代结束时计数器未重置

[英]counter is not resetting at end of the each iteration of the loop controller in jmeter

我想在循环的每次迭代结束时重置我的计数器。 我在我的脚本中实现了解决方案,如页面Jmeter - while 循环中的循环计数器在退出时未重置但给定的解决方案对我不起作用。 I am using apache jmeter 5.1.1 version I added below code in JSR223 sampler out side the while controller within transaction controller

def counter=vars.get("counter"); ${__groovy(vars.put('counter'\, '2'),)}

柜台

在此处输入图像描述

计数器值正在重置,但更新的计数器值未携带到第二次迭代

logs: 2019-10-24 14:53:53,281 INFO o.a.j.p.j.s.J.JSR223 Sampler: counter value-----2

将 JSR223 采样器放置在外部,而controller/trasaction controller/loop controller..在所有方面它都给出相同的响应,如下所示

在此处输入图像描述

我需要结果

xrequest-1 

xrequest-2 

xrequest-3 

xrequest-4 

xrequest-5 

xrequest-6 

xrequest-7 

xrequest-8 . . . 

yrequest-1 

yrequest-2 

yrequest-3 

yrequest-4 

yrequest-5 

yrequest-6 . . .

如果我缺少任何东西,请帮助我。

你甚至不需要任何 Counter 那里。

由于JMeter 5.0 而 Controller暴露了一个特殊的JMeter 变量,它看起来像:

${__jm__While Controller__idx}

其中While Controller需要匹配 While Controller label。

因此,如果您需要计算迭代次数 - 您可以参考这个变量。 它是从零开始的,即第一次迭代时该值将为0 ,如果您需要迭代数以1开头 - go for __intSum() function像:

${__intSum(${__jm__While Controller__idx},1,)}

演示:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM