Вывод переменной на КОНСОЛЬ

#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, потому что:

  1. Они будут конфликтовать с шаблонизатором Groovy GString
  2. Переменные JMeter будут кэшироваться, и будет использоваться только первое вхождение

Пример альтернативного кода:

 vars.get('err') ? println('ErrorMessage='   vars.get('err')) : println('Complete')
 

Дополнительная информация:

Комментарии:

1. есть ли какая-либо разница между OUT.println и println? Я думаю, что OUT.println — это печать на консоль. Println — это экран печати в журнале.

2. Никакой разницы, на 4 символа меньше для ввода