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.
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 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
Features of JEval
- JMeter version detection
- Test plan validity
- Detects the relevant elements
- Detects JMeter Plugins
- Customizable via
- Custom elements can be added in the
- Measures time taken for each analysis
- Generates log file
- Integrates with your CI/CD as it is command line program
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 dependencies
pip install -r requirements.txt
- cd into the repository
- Issue the below command
python app.py -f <JMeter-File-Path>E.g.
python app.py -f .\jmx\Sample.jmx