我在While控制器中设置了一个条件:${__javaScript("${status5}" != "SUCCESS" && parseInt("${counter}") < 5,)}
并将计数器放入控制器中。还启用了为每个用户独立跟踪计数器,并为每个线程组迭代重置计数器。
调用HTTP采样器后,我添加了Beanshell后处理器来捕获文件中的响应值。
在运行100个线程和10次迭代的测试时,一些线程失败并重试直到迭代5次,但随后又进一步发展。看起来它只检查第一次迭代,然后无法移动到下一次迭代。我没有看到jemter.log或outofmemory上的任何错误,但它只是挂在那里。
你能帮助我为什么线程没有进展吗?我的验证有问题吗?或者在控制器中?
答案 0 :(得分:0)
您不需要parseInt() function here,JavaScript与类型无关,因此我建议您将条件行更改为以下内容:
${__javaScript(("${status5}" != "SUCCESS" && ${counter} < 5),)}
有关JMeter测试中条件循环的更多信息,请参阅Using the While Controller in JMeter文章。