loading...
Cover image for JEval - Evaluate your JMeter Test Plan

JEval - Evaluate your JMeter Test Plan

qainsights profile image NaveenKumar Namachivayam ⚡ ・4 min read

This blog post originally appeared on my blog.

JEval - Evaluate your JMeter Test Plan Few weeks ago I had released JEval - a small Python based utility which evaluates JMeter test plan and provide you the recommendations and best practices by analyzing each element. In this blog post, I will explain how JEval will be useful, how it works, its limitations and more.

What is JEval?

JMeter Evaluator, shortly JEval helps to evaluate your JMeter test plan and gives you set of recommendations in a color coded format.

Why JEval?

As a performance engineer, we create and maintain scripts almost on daily basis. Because changes are inevitable. If you are working in JMeter, then you disable and enable elements, you keep adding elements which you forget eventually to disable after debugging the script.

JEval helps to evaluate the test plan and provides you an analysis of each element whether you want to enable or disable them. This will help in optimizing your test plan for better resource utilization.

Use case #1

Assume that there is a new release on JMeter, but you are still using the older version. JEval reveal that you are using the older version and highlight you to update to the latest version.

Use case #2

You have enabled umpteen Listeners in your test plan which is not required when the test is running in the CLI mode. JEval catches that and provides a recommendation to disable it.

Use case #3

Please share how JEval helps in your project. I will list them here.

How it works?

JMeter test plan is an XML document. Python script parses through each element and compares it with the set of rules and displays the relevant output.

The whole project is open source, you can check the complete code in GitHub.

JEval GitHub Repo

Important Notes

  • JEval doesn't make any modifications to your JMeter test plan. But it is advisable to make a backup of your JMeter test plan.
  • JEval utility doesn't collect any sort of data

Sample Output of JEval

JEval - Evaluate your JMeter Test Plan
JEval - Evaluate your JMeter Test Plan - Sample Output

Features of JEval

  • JMeter version detection
  • Test plan validity
  • Detects the relevant elements
  • Detects JMeter Plugins
  • Customizable via config.yaml file
  • Custom elements can be added in the config.yaml file
  • Measures time taken for each analysis
  • Generates log file
  • Integrates with your CI/CD as it is command line program

Limitations

No tool is perfect. JEval comes with its own limitations.

  • If the test plan has Loop element which has a lot of elements as its child, then JMeter will not detect them.

How to use JEval?

  • Clone the repository.
  • Install the latest version of Python
  • Install the dependenciespip install -r requirements.txt
  • cd into the repository
  • Issue the below commandpython app.py -f <JMeter-File-Path>E.g.python app.py -f .\jmx\Sample.jmx

Thanks to Anthony Gauthier and Leela Prasad for their excellent contributions for JEval.

Discussion

pic
Editor guide