#jmeter #jsr223
#jmeter #jsr223
Вопрос:
Я пытаюсь вывести переменную на КОНСОЛЬ.
Мне нужно печатать только с использованием условия IF для проверки, является ли переменная пустой или нет.
Я попробовал приведенный ниже код на JSR223, но не работает
if (${__javaScript(vars.get("err") != null)})
{
${__logn(Complete,OUT)}
} else {
${__logn(ErrorMessage=${err},OUT)}
}```
Ответ №1:
Не используйте ${}
синтаксис в JSR223, я думаю, вы хотите сделать следующее
if (vars.get("err") == null) {
OUT.println("Complete");
} else {
OUT.println("ErrorMessage=" vars.get("err"));
}
Комментарии:
1. могу ли я использовать условие if в JSR223 так же, как использовать его JAVA.
2. @pengu1nnn да, это условие java if (синтаксис groovy похож на java)
Ответ №2:
Не вставляйте функции или переменные JMeter в скрипты Groovy, потому что:
- Они будут конфликтовать с шаблонизатором Groovy GString
- Переменные JMeter будут кэшироваться, и будет использоваться только первое вхождение
Пример альтернативного кода:
vars.get('err') ? println('ErrorMessage=' vars.get('err')) : println('Complete')
Дополнительная информация:
Комментарии:
1. есть ли какая-либо разница между OUT.println и println? Я думаю, что OUT.println — это печать на консоль. Println — это экран печати в журнале.
2. Никакой разницы, на 4 символа меньше для ввода