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 ),)}
以下是我的测试计划。当用户定义的变量 "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 ),)}