In case you have worked with JMeter scripts before, you must have stuck at some point and find yourself asking “How do I debug this stuff?”, “Why is my regular expression or jsonpath not working?”
Actually, there are many ways to debug JMeter scripts and it’s very easy!
Let’s see some ways to debug a JMeter script.
2. DEBUGGING JMETER
SCRIPTS
1
In case you have worked with JMeter scripts
before, you must have stuck at some point and
find yourself asking “How do I debug this stuff?”,
“Why is my regular expression or jsonpath not
working?”
Actually, there are many ways to debug JMeter
scripts and it’s very easy!
Let’s see some ways to debug a JMeter script.
3. VIEW RESULT TREE
2
JMeter has various listener types. View Result Tree is the one that should be used to debug any request. It allows you to
debug Jsonpath, XML or a Regular expression by its user interface. It can be added to your JMeter script through right-click
menu: Add > Listener > View Results Tree.
After executing any scripts, you can go into your “View Result Tree” and select the debug type.
4. VIEW RESULT TREE
3
In that screen you see the content of your request,
response and sampler itself with the headers,
status code etc.
As default, Debugging option “Text” is selected on
the left hand side of the screen.
When you open ‘Response Data’ you will be able
to search for any textual or numeric value in the
response as “Text” is selected.
5. VIEW RESULT TREE
4
You might need to search something from a json or xml response. In those cases, listener allows you to choose “CSS
Selector Tester”, “Json Path Tester” or “XML Path Tester”
6. VIEW RESULT TREE
5
You can right your queries and validate if they are working fine or not.
8. VIEW RESULT TREE
7
Using that listener is efficient than modifying
already existing script and playing once again till
you find the right selector or values.
Note: While executing your performance test,
don’t forget to disable View Tree Listener as it
stores everything in the memory and it will crash
your execution by consuming the memory.
9. LOG VIEWER
8
JMeter has a console that allows you to monitor the script on runtime. You can turn on the log viewer from the top menu by
following “Options->Log Viewer”.
So at the bottom of your JMeter client, a panel will open. It will tell you what’s going on with your script.
10. LOG VIEWER
9
You can configure the Log level by selecting
INFO, WARN, ERROR, DEBUG, TRACE from the
top menu.
DEBUG and TRACE logs everything about the
test. Request, response, headers, JMeter
status with Threads, etc…
WARN will log only the warning generated by
JMeter.
INFO will log only Thread status, you will not
see any response or request specific data.
ERROR will only log in case there are any
errors caused by test (failing request) or
environment (missing CSV file or JDK path
etc…)
11. DEBUG SAMPLER
10
Debug Sampler is a very powerful sampler which
does nothing but logging.
You can log JMeter Properties, JMeter Variables
or System Properties. Think that you have a JDK
installation problem in your machine. Debug
Sampler tells you.
You have many variables that you extract from
your request and use in other requests. Debug
sampler gathers all of them in one place and show
their values.
12. DEBUG SAMPLER
11
You can add it by right clicking on your Thread Group and select “Add->Sampler->Debug Sampler”.
Then you configure this sampler for logging level.
13. DEBUG SAMPLER
12
Most important one is to Enable “JMeter Variables” so you’ll be able to monitor any variable create during performance test
runtime.
In that picture, there is id and title value which are extracted from a Jsonpath Post Precessor.
14. 13
Loadium; cloud-based performance & load testing platform handles all of the
configuration steps for real-time test reporting results and eliminates the required
setup time.
You only need to upload JMeter or web driver based tests to Loadium and execute it!
Please feel free to ask questions if you have any!
Happy load testing!