【问题标题】:Regular expression in While Controller JmeterWhile Controller Jmeter中的正则表达式
【发布时间】:2012-12-13 17:16:46
【问题描述】:

我正在使用带 Condition 的 While 控制器:

${_javaScript("${DONE}" ! = "Resolved and Downloaded";)}

最初是DONE="Not Assigned yet"

经过几次迭代后,DONE 发生了变化并具有 Resolved and Downloaded 的值(我在 Debug Sampler 中检查),但循环继续并且不会退出。

我做错了什么,我应该怎么做才能让它工作?

【问题讨论】:

标签: testing jmeter load-testing stress-testing


【解决方案1】:

首先检查条件表达式的语法:在函数的参数列表中,在函数名称之前应该是双 __,在条件之后应该是 , 而不是 ;

${__javaScript("${DONE}"!="Resolved and Downloaded",)}

这可能会破坏您的测试用例。
您也可以查看 jmeter.log 以了解可能的问题详细信息。

【讨论】:

  • 查看日志查看器更方便
  • 我试过了,但没用。在 .log 中它给出了这个异常... =“已解决并已下载风险数据”] org.mozilla.javascript.EvaluatorException: missing ;之前的语句 (#1)
  • 我也试过在看到这个wiki.apache.org/jmeter/ErrorMessages 后删除所有空格 ..但仍然出现错误。
  • 哦,真的吗?那么函数名前的双“__”呢?还是传统?
  • 我没有尝试使用单个“”,所以不能说什么..但我认为这是强制性的,因为过去几天我疯狂地研究了很多,但我从未见过任何人像“一样单独使用它
【解决方案2】:

${__javaScript("${DONE}"!="已解决并下载")}

【讨论】:

    【解决方案3】:

    您可以使用 while 控制器尝试以下操作:

    ${__javaScript(${DONE} !="已解决并下载")}

    【讨论】:

      【解决方案4】:

      您可以使用 if 控制器。将 if 控制器作为运行时控制器的子级。指定运行时控制器中的最大时间。

      在如果控制器下指定以下内容: "${DONE}" !="已解决并下载"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多