虽然条件语句不适用于JMeter

时间:2018-01-02 15:52:54

标签: jmeter do-while jmeter-3.2

我正在尝试为while控制器添加一个简单的条件语句,但是当条件满足时它无法停止。

     While controller
          Counter
          http request - status request identifies the current status of process (submitted, pre_processed and processed)
          xpath extraction - extracts the  response status which is saved to a variable
          Debug  - Debug confirms the variable is correct

条件陈述如下:

       ${__javaScript("${getStatus}" == "PROCESSED" || ${counter} < 5),)}

然后我修改了以使它更容易:

        ${__javaScript("${getStatus}" == "PROCESSED")}

日志显示没有错误或语法错误,但是当状态为PROCESSED时它无法停止。

我尝试了以下替代方案,但它不起作用:

          ${__javaScript("vars.get("getStatus")" == "PROCESSED")}
          ${__javaScript("${getStatus}".indexOf("PROCESSED") == "PROCESSED")}
          ${__javaScript(" '${getStatus}' != 'SUBMITTED' " || " '{$getStatus}' !=  'PRE_PROCESSED' " ,)}

我认为这个问题是语法问题,但是我的陈述错了。

1 个答案:

答案 0 :(得分:0)

出于性能原因使用 jexl3 函数而不是javascript,并且条件应该返回true,因此还原相等的aign:

   ${__jexl3("${getStatus}" != "PROCESSED")}