Как добавить условие в мой 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