【问题标题】:Jmeter If controller not executing with GroovyJmeter 如果控制器不使用 Groovy 执行
【发布时间】:2019-03-11 13:32:26
【问题描述】:

以下是我的测试计划。当用户定义的变量“userTaskIds”大小大于在先前请求中设置的零时,控制器应该在哪里执行。

如果即使 userTaskIds 大小大于零控制器也没有执行。如果前一个请求成功并且 userTaskIds >0 时应该执行块。

(${JMeterThread.last_sample_ok}) && (${__groovy(vars.get("userTaskIds").size() > 0 )})

ForEach 控制器 以下是调试采样器输出

【问题讨论】:

    标签: groovy jmeter performance-testing jsr223 jmeter-5.0


    【解决方案1】:

    有效的语法应该是:

    ${__groovy(vars.get("JMeterThread.last_sample_ok")=="true" && (vars.getObject("userTaskIds").size() > 0 ),)}

    注意最好使用__jexl3函数:

    ${__jexl3(vars.get("JMeterThread.last_sample_ok")=="true" && (vars.getObject("userTaskIds").size() > 0 ),)}

    【讨论】:

    • 现在如果块执行正常,但是 ForEach 循环没有使用 userTaskIds 变量执行。在主线程中添加了屏幕截图。
    • 感谢您的接受,打开一个新问题,详细说明第二个问题,我很乐意为您提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 2022-11-20
    • 2019-10-27
    • 2018-09-01
    • 1970-01-01
    相关资源
    最近更新 更多