Reputation: 982
println() inside static void main
method is not printing anything anywhere, whereas only println() prints in terminal. Here is my code:
class CalcMain {
static void main(def args) throws Exception {
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("groovy");
println("testing");
}
}
And when I ran it shows pass (Green Triangle in Jmeter) but doesnt print anything on terminal
Whereas a simple program such as
println("testing");
prints on terminal.
Could someone please let me know where I am doing wrong?
Upvotes: 28
Views: 63423
Reputation: 789
Use below to display text in JMeter Response Tab in "Results Tree":
SampleResult.setResponseData("Document: " + variable,"UTF-8");
Use below to log in the console text area of JMeter:
log.info("hello");
A 3rd option is to use Java standard:
System.out.println("Any String");
Above can be written from any Java/Groovy/JSR223 sampler. But it will be printed on the Parent CMD window that opened the JMeter UI in windows.
Upvotes: 11
Reputation: 3782
You have not provided all code, just your part produces errors as imports are also needed. Definition of class does not run by its own, you need as instance and then run in explicitly, then it prints (both with and w/out System.out.
prefix) to terminal:
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");
Output:
testing1
testing2
testing3
Upvotes: 0
Reputation: 1024
Chapter "2. OUT" shows the answer:
https://jmetervn.com/2016/12/05/jsr223-with-groovy-variables-part-1/
use the
OUT
command.
OUT.println("INPUT MESSAGE HERE");
Upvotes: 3
Reputation: 29669
Don't use System.out.println in a Groovy or Beanshell step in jmeter. Instead , do this:
1. Enable the stdout console in Jmeter so that you can see the output.
2. Use log.info("Message:" + vars.get("variableName")); instead.
Upvotes: 33