Jmeter 如果控制器不执行 Groovy

Jmeter If controller not executing with Groovy

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

如果即使 userTaskIds 大小大于零,控制器仍未执行。如果块应该在上一个请求成功并且 userTaskIds >0.

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

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

有效的语法应该是:

${__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 ),)}