如何使用 jmeter 和 groovy 在我的 IF CONTROLLER 中添加条件

How to add a condition in my IF CONTROLLER using jmeter and groovy

我正在使用 jmeter 3.3 和 groovy 并且有一个 IF 条件,它根据响应代码进行过滤。

这是我正在做的并且有效:

${__jexl3(${code} != 000)} 

现在我想为这个条件添加一个 AND 逻辑或一个 OR 逻辑

例如这样做:

${__jexl3(${code} != 000)} && ${__jexl3(${code} != 901)}

但这似乎不起作用。

添加逻辑运算符的正确方法是什么?

如果您将语句更改为

${__jexl3(${code} != 000 && ${code} != 000)} 

它会起作用(即你在相同的 jexl3 评估下拉两个条件)。

事实是,您根本不需要 jexl3 求值。您的 If Controller 将默认使用 JavaScript,因此可以这样配置:

所以你的代码可以是

${code} != 000 && ${code} != 000

(当然,把相同的条件放在那里没有多大意义,但我认为这是一个例子)

  • 如果你想要JEXL你需要使用一个函数调用而不是两个单独的函数调用:

    ${__jexl3("${code}" != "000" && "${code}" != "901" ,)}
    
  • 如果您想使用 Groovy - 将变量引用为 vars.get('code'),例如:

    ${__groovy((!vars.get('code').equals('000') && !vars.get('code').equals('901')),)}
    

更多信息:6 Tips for JMeter If Controller Usage