Jmeter如果控制器未通过Groovy执行

时间:2018-10-06 04:54:25

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

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

enter image description here

enter image description here

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

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

ForEach控制器 enter image description here 以下是调试采样器的输出 enter image description here

1 个答案:

答案 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),)}