为什么我的 while 循环在 Jmeter 中不起作用?
why my while loop doesn't work in Jmeter?
请点击link查看图片。
I have a Json Extractor, which saves the value returned in "status"
it's working:
and I also have a "Controller while" with this condition:
$ {__ javaScript ("${status}".indexOf ("string") != 500 ,)}
但是奇怪的事情发生了
2021-11-25 14:30:46,258 DEBUG o.a.j.c.WhileController: 条件字符串: '$ {__ javaScript ("ERROR" .indexOf("字符串") != 500 ,)}'
2021-11-25 14:30:46,258 DEBUG o.a.j.c.WhileController:条件值:'false'
2021-11-25 14:30:46,258 DEBUG o.a.j.t.p.AbstractProperty: 运行 版本,执行函数
不是应该给出“true”并结束循环吗?
你的条件不太正确,如果你想在你的 ${status}
变量变成 500
时结束循环,你应该使用类似的东西:
${__javaScript("${status}" != "500",)}
此外,从性能角度考虑,最好考虑使用 __jexl3() function,例如:
${__jexl3("${status}" != "500",)}
${__groovy(vars.get("status") != "500",)}
因为这是 __javaScript() function documentation 建议的
请点击link查看图片。
I have a Json Extractor, which saves the value returned in "status"
it's working:
and I also have a "Controller while" with this condition:
$ {__ javaScript ("${status}".indexOf ("string") != 500 ,)}
但是奇怪的事情发生了
2021-11-25 14:30:46,258 DEBUG o.a.j.c.WhileController: 条件字符串: '$ {__ javaScript ("ERROR" .indexOf("字符串") != 500 ,)}' 2021-11-25 14:30:46,258 DEBUG o.a.j.c.WhileController:条件值:'false' 2021-11-25 14:30:46,258 DEBUG o.a.j.t.p.AbstractProperty: 运行 版本,执行函数
不是应该给出“true”并结束循环吗?
你的条件不太正确,如果你想在你的 ${status}
变量变成 500
时结束循环,你应该使用类似的东西:
${__javaScript("${status}" != "500",)}
此外,从性能角度考虑,最好考虑使用 __jexl3() function,例如:
${__jexl3("${status}" != "500",)}
${__groovy(vars.get("status") != "500",)}
因为这是 __javaScript() function documentation 建议的