Подтвердить что ты не робот

Сообщение не печатает на консоли в jmeter, используя JSR223 и groovy

println() внутри static void main метод ничего не печатает, а только println() печатает в терминале. Вот мой код:

class CalcMain {
static void main(def args) throws Exception {
    ScriptEngineManager factory = new ScriptEngineManager();
    ScriptEngine engine = factory.getEngineByName("groovy");

    println("testing");
  }
}

И когда я запустил, он показывает пропуск (Зеленый треугольник в Jmeter), но ничего не печатает на терминале

В то время как простая программа, такая как

println("testing");

печатает на терминале.

Может кто-нибудь, пожалуйста, дайте мне знать, где я делаю неправильно?

Спасибо

4b9b3361

Ответ 1

Не используйте System.out.println на шаге Groovy или Beanshell в jmeter. Вместо этого сделайте следующее:

1. Enable the stdout console in Jmeter so that you can see the output.
2. Use  log.info("Message:" + vars.get("variableName"));  instead.

Ответ 2

Используйте ниже, чтобы отобразить текст на вкладке JMeter Response в "Дереве результатов":

SampleResult.setResponseData("Document: " + variable,"UTF-8");

Используйте ниже, чтобы войти в текстовую область консоли JMeter:

log.info("hello");

Ответ 4

Попробуйте: System.out.println( "тестирование" )

Ответ 5

Вы не предоставили весь код, только ваша часть выдает ошибки, так как импорт также необходим. Определение класса не запускается само по себе, вам нужно как экземпляр, а затем запустить явно, затем оно печатает (как с префиксом System.out., так и без него) на терминал:

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

class CalcMain {
static void main(def args) throws Exception {
    ScriptEngineManager factory = new ScriptEngineManager();
    ScriptEngine engine = factory.getEngineByName("groovy");

    println ("testing1");
    System.out.println ("testing2");
  }
}

CalcMain test1 = new CalcMain();
test1.main();
println ("testing3");

Выход:

testing1
testing2
testing3