Groovy 如果有多个条件

Groovy If with multiple conditions

如果我们只想在IP 地址不在(10.0.0.1, 10.0.0.2) 时执行一个有2 个并发用户的线程组。我们怎样才能做到这一点?

我使用了以下条件但它不起作用 ${__groovy(if ((org.apache.jmeter.util.JMeterUtils.getLocalHostIP()!='10.0.0.1') || (org.apache.jmeter.util.JMeterUtils.getLocalHostIP()!='10.0.0.2')) return '2' 否则 return '0',)}

我认为您需要将 || 运算符更改为 && 运算符

${__groovy(if ((org.apache.jmeter.util.JMeterUtils.getLocalHostIP()!='10.10.10.1') && (org.apache.jmeter.util.JMeterUtils.getLocalHostIP()!='10.0.0.2')) return '2' else return '0',)}

您还可以考虑稍微更改语法,使其更具可读性,并且在需要时更容易添加下一个 IP:

${__groovy(if (['10.0.0.1'\, '10.0.0.2'].contains(org.apache.jmeter.util.JMeterUtils.getLocalHostIP())) return '0' else return '2',)}

更多信息: