Jmeter If控制器不使用Groovy执行

Jmeter If控制器不使用Groovy执行,groovy,jmeter,performance-testing,jsr223,jmeter-5.0,Groovy,Jmeter,Performance Testing,Jsr223,Jmeter 5.0,以下是我的测试计划。其中,当用户定义变量“userTaskIds”大小大于在上一个请求中设置的零时,If控制器应执行 即使userTaskIds大小大于零,控制器也不执行。当上一个请求成功且UserTaskId>0时,应执行If块 (${JMeterThread.last_sample_ok}) && (${__groovy(vars.get("userTaskIds").size() > 0 )}) ForEach控制器 以下是调试采样器输出 有效的语法应该是: $

以下是我的测试计划。其中,当用户定义变量“userTaskIds”大小大于在上一个请求中设置的零时,If控制器应执行

即使userTaskIds大小大于零,控制器也不执行。当上一个请求成功且UserTaskId>0时,应执行If块

(${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(vars.get(“JMeterThread.last_sample_ok”)==“true”&(vars.getObject(“userTaskIds”).size()>0),}


现在,如果块执行很好,但是ForEach循环不使用userTaskIds变量执行。在主线程中添加了屏幕截图。感谢您的接受,打开一个新问题,并提供第二个问题的详细信息,我很乐意提供帮助。