代码之家  ›  专栏  ›  技术社区  ›  Nobody

而条件语句在JMeter中不起作用

  •  1
  • Nobody  · 技术社区  · 7 年前

    我试图为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")}
    

    日志未显示任何错误或语法错误,但在处理状态时无法停止。

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

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

    我认为问题在于语法,但我的陈述到底出了什么问题。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Ori Marko    7 年前

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

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