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

时间:2017-04-07 13:45:01

标签: multithreading while-loop controller jmeter counter

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

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

在运行100个线程和10次迭代的测试时,一些线程失败并重试直到迭代5次,但随后又进一步发展。看起来它只检查第一次迭代,然后无法移动到下一次迭代。我没有看到jemter.log或outofmemory上的任何错误,但它只是挂在那里。

你能帮助我为什么线程没有进展吗?我的验证有问题吗?或者在控制器中?

1 个答案:

答案 0 :(得分:0)

您不需要parseInt() function here,JavaScript与类型无关,因此我建议您将条件行更改为以下内容:

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

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