我正在尝试添加一个While Controller来检查 GET 调用中的值是否返回'COMPLETED'。我还想添加计数器以防止它进入无限循环。我添加了一个带有以下javascript代码的while控制器:
$ {__ javaScript(“$ {STATUS}”!=“已完成”||“$ {COUNTERA}”< 5,)}
我正在使用JSON提取器从之前的GET调用中检索STATUS参数。 COUNTERA设置为以0开始,并且递增1.上面的代码不起作用,虽然STATUS已完成,但控制器不会停止执行事件。
任何帮助都会得到帮助!
答案 0 :(得分:1)
当条件变为“假”时,您需要使用While Controller停止
While Controller运行其子项,直到条件为“false”。
首选__jexl3,__ groovy函数优于__javaScript
根据需要使用__jexl3,__ groovy函数,属性或变量。
只需删除不需要的逗号和括号:
${__jexl3("${STATUS}" !="COMPLETED" && ${COUNTERA} < 5)}
答案 1 :(得分:1)
将您的While Controller条件修改为
${__javaScript("${STATUS}" !="COMPLETED" && ${COUNTERA} < 5,)}
您需要删除${COUNTERA}
周围的引号,因为JavaScript会将其视为String,因此您的比较失败。
您可能还想在User Defined Variables中声明值0
的COUNTERA变量,以避免在初始化变量时第一次迭代时出现JavaScript错误