Как добавить условие в мой IF CONTROLLER, используя jmeter и groovy

Я использую jmeter 3.3 и groovy, и у меня есть условие IF, которое фильтрует в соответствии с кодом ответа.

вот что я делаю, и это работает:

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

Теперь я хочу добавить логику И к этому условию или логику ИЛИ

например, делая это:

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

но это не похоже на работу.

Как правильно добавить логический оператор?

2 ответа

Решение

Если вы измените заявление на

${__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 советов по использованию контроллера JMeter

Другие вопросы по тегам