Multithreading Jmeter:如果条件不满足,则控制器计数器不允许线程退出

Multithreading Jmeter:如果条件不满足,则控制器计数器不允许线程退出,multithreading,while-loop,controller,jmeter,counter,Multithreading,While Loop,Controller,Jmeter,Counter,我在While控制器中设置了一个条件:javaScript(${status5})!=“SUCCESS”&&parseInt(${counter}”)

我在While控制器中设置了一个条件:
javaScript(${status5})!=“SUCCESS”&&parseInt(${counter}”)<5,)}
,并将计数器放在While控制器中。还为每个用户启用了独立跟踪计数器,并为每个线程组迭代重置计数器

调用HTTP采样器后,我添加了Beanshell后处理器以捕获文件中的响应值

在对100个线程和10个迭代运行测试时,一些线程失败,并在迭代中重试5次,但之后确实会继续进行。看起来它只是在检查第一次迭代,然后无法移动到下一次迭代。我在jemter.log或outofmemory上没有看到任何错误,但它只是挂在那里

你能帮我解释为什么线程没有进展吗?我的验证有什么问题吗?还是在一段时间内

您不需要,JavaScript是类型不可知的,因此我建议将您的条件行更改为以下内容:

${__javaScript(("${status5}" != "SUCCESS"  && ${counter} < 5),)}
${uu javaScript(“${status5}”!=“SUCCESS”&&${counter}<5),)

有关JMeter测试中的条件循环的更多信息,请参阅文章。

您可以仅使用“${status5}”和“${counter}”进行尝试吗?在使用parseInt之前,我尝试了${counter}<5,但它抛出了错误。我为计数器引用了相同的链接,但它不起作用。