IfController未在forEach控制器下定义的Jmeter中执行

IfController未在forEach控制器下定义的Jmeter中执行,jmeter,Jmeter,IfController未在forEach控制器下定义的Jmeter中执行 正在尝试使用Jmeter执行以下场景。这能实现吗 “-连接到数据库(使用JDBC连接) -运行SQL获取批处理记录列表,比如返回B1、B2和B3批处理(用于JDBC请求) -对于获得的每个批处理记录,运行SQL以获取相应的装运(使用ForEach控制器和JDBC请求) -如果每批装运数量少于5(使用if控制器) -运行新SQL以获取同一批的新装运集(使用ForEach控制器) -对于每次装运,调用应用程序API(使用HT

IfController未在forEach控制器下定义的Jmeter中执行

正在尝试使用Jmeter执行以下场景。这能实现吗

“-连接到数据库(使用JDBC连接) -运行SQL获取批处理记录列表,比如返回B1、B2和B3批处理(用于JDBC请求) -对于获得的每个批处理记录,运行SQL以获取相应的装运(使用ForEach控制器和JDBC请求) -如果每批装运数量少于5(使用if控制器) -运行新SQL以获取同一批的新装运集(使用ForEach控制器) -对于每次装运,调用应用程序API(使用HTTP请求)

我看到第一个ForEach控制器被执行,但我没有看到if控制器被执行。
为了简化if控制器中的条件,我使用了这个条件-1==1,并尝试了这个(${uuujexl3(vars.get(“JMeterThread.last_sample_ok”)==“true”&&(vars.getObject(“shipmentCount1”).size()<2),)你需要从if控制器的条件中删除括号,因为它会导致
(true)
无法转换为
true
,因此您的If控制器的子项未执行

正确的表达式:
${{vars.get(“JMeterThread.last\u sample\u ok”)=“true”和&(vars.getObject(“shipmentCount1”).size()<2),}

演示:

如果控制器设置只是为了以防万一:


始终使用组合检查值

如果您的if在foreach之上而不是之下,则上面和下面都有foreach。if控制器是否在foreach下不工作?