我在以下情况下配置了While控制器:
${__javaScript("${Status}" != "BatchId not found")}
和正则表达式提取器:
已创建变量的名称:Status
正则表达式:(.+?)
模板:$1$
匹配号:1
此While控制器中的GetGetAsyncResponses请求检查异步批处理请求的结果,直到捕获到该批处理的所有结果为止。
首先,我启动批处理请求,然后使用GetNextAsyncResponses请求进行循环,该请求检查是否有该批处理的结果。 批处理请求完成后,我得到一个带有字符串“ BatchID not found”的响应正文,表示没有更多结果可用。
当第一个带有字符串“未找到BatchID”的响应弹出时,循环应停止GetNextAsyncResponses。
但是不幸的是,即使在4-5次循环后显示字符串,循环也永远不会停止。
我还尝试了在类似情况下发现的未成功的条件。
${__jexl3("${BatchId}" != "BatchId not found")}
${__javaScript("${BatchId}".indexOf("BatchId not found") == -1,)}
我不确定这里缺少什么错矿。
任何帮助将不胜感激。
非常感谢...
答案 0 :(得分:0)
答案 1 :(得分:0)
While Controller中使用的变量必须与您在Regular Expression Extractor中定义的变量匹配,如果正则表达式提取器中有Status
,则需要在变量中使用相同的变量。控制器时
${__jexl3("${Status}" != "BatchId not found")}
${__groovy(!vars.get('Status').equals('BatchId not found'),)}