JMeter Non gui mode doesnot show stats for the script, but it does work for rest other scripts

Viewed 221

While running the script in non-gui mode for jmeter tests, test gets completed but it does shows min: 0, max: 0...

note: JMeter 5.4 is installed without any 3rd party plugin.

java version "1.8.0_261" Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

Please helpenter image description here

2 Answers

It means that none of Samplers were executed and the reasons could be in:

  1. The number of threads in Thread Group is 0
  2. The test contains CSV Data Set Config and the .csv file is not there
  3. The test relies on a JMeter Plugin which is not installed
  4. etc.

The reason should be in jmeter.log file, check it and I believe you will find either the cause or at least a clue there.

Also be aware that according to 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure article you should always be using the latest version of JMeter so consider upgrading to JMeter 5.4.1 (or whatever is the latest stable version available at JMeter Downloads page) on next available opportunity

I guess you probably found the answer - but maybe this response will be useful to someone.

I've been battling a similar issue -> locally all was working fine (in GUI and non-GUI mode), but as soon as I tried to run the jmx on the server I could see it would start threads, all logs seemed normal (standard info logs within jmeter.log at start) but still no requests were actually made (confirmed by observing logs from the target server). I tried running trace logs but still nothing out of the ordinary - I could see proper HTTP config, threads were as if normal... But the generated jtl file only contained a header and no requests actually were made.

After some hair pulling I finally found my issue - I'm using variables for threads, rampup and loop which I invoke using ${__P(threads,)} syntax and when running the non-GUI load test I pass those with -J to the command line (f.ex. jmeter -Jthreads=50 ...) I didn't pass the loop parameter since I figured it would just default to 1 (and that is also the impression I get when looking at the logs where I see all thread started ... entries) - turns out for some reason it will log, but won't execute anything actually till I pass a value for that loop.

So if you run a test plan and notice it only simulates doing something but you get no results in the target log file -> confirm you're setting ALL variables used for thread groups including those you suspect to default

Related