What's New in JMeter 4.0?
What's New in JMeter 4.0?
The latest iteration of Apache's JMeter is here, and we have the run-down on some of the newest features and how they will help you.
Join the DZone community and get the full member experience.Join For Free
xMatters delivers integration-driven collaboration that relays data between systems, while engaging the right people to proactively resolve issues. Read the Monitoring in a Connected Enterprise whitepaper and learn about 3 tools for resolving incidents quickly.
A new Apache JMeter version was released on Feb. 11th, version 4.0! Given that the last major release, of version 3.0, took place only a little less than two years ago (by comparison, the release of JMeter 2.0 was in 2004!), as well as the occurrence of many smaller releases (versions 3.1-3.3) during this time, this shows how much JMeter is progressing and keeping up to date with new technologies and developers' needs.
It seems like this JMeter version has put an emphasis on improving user experience — making it easier to navigate and create tests, making elements more friendly and readable, and alerting you when there are issues with your test.
Here are the most important things you need to know about the JMeter 4.0 version.
GUI Changed to Black
JMeter has a new look! JMeter now has a Black GUI (the Darcula LAF theme). If you don't like it, you can always switch back through the "Options -> Look and Feel" menu.
English is the Default Language
English is now the default language for the JMeter UI, due to missing translations. You can change the language if you want.
Most-Used Elements Shown First
When opening elements through the menu, JMeter will now show you your most used elements, making it easier and quicker to build your test scenario.
Contributed by Artem Fedorov from BlazeMeter to the open source community, the JSON Assertion asserts JSON documents. Previously a part of JMeter plugins, the JSON Assertion is now a part of the JMeter core. This means that the JSON functions offering from core is now complete and there is no need to install third-party JSON plugins anymore. The assertions works in three phases: determining if the document is JSON, finding the required path, and finding the required value. Only by passing the previous phase does the assertion move on to the next one.
The Boundary Extractor is a postprocessor that extracts values from a server response by using right and left boundaries that the user determined. After the boundaries are found, the extractor takes the values, creates a string and stores the result in a variable, which was also configured in the element's fields.
Precise Throughput Timer
The Precise Throughput Timer is a timer that enables users to determine the throughput (samplers per second/minute/hour/etc.) they want to run in their tests. Compared to the Constant Throughput Timer, the user is more flexible when deciding how to spread out the samples over time. In addition, execution is scheduled in a random way, enabling a constant load to build up. Finally, this timer uses the Poisson arrival schedule for its pauses, making it close to real-life scenarios.
Java 9 Support
JMeter now supports Java 9. No need to keep old Java 8 for JMeter, it now works on both Java 8 and Java 9.
Contributed by BlazeMeter's Artem Fedorov, JMeter users no longer have to see the Workbench in their test script. Users have been reporting that the Workbench was confusing, given that its purpose vanished after introducing the "Test Fragment" several versions ago. Therefore, it was the logical move to clean it up from the GUI. Elements that were previously placed in the scope of the Workbench can now be added to the Test Plan.
Test Plan Now Saved Automatically
No more annoying pop-ups reminding you to save your test.
- The JMS point-to-point sampler now enables three more communication options: read, browse and clear
- The Response Assertion now enables asserting Request Data
- The If Controller now checks "Interpret Condition as Variable Expression" by default
- The JSR223 test elements now check "Cache compiled script" by default
- The Loop controller and ForEach Controller show their current iteration as a variable in this form: __jm__<Name of your element>__idx
In addition, bugs were fixed, functions were added and more elements were improved. Read the full list of changes, here.
To learn how to use JMeter, sign up for our free JMeter academy.
With BlazeMeter, you can run all of your JMeter scripts in the cloud and get brilliant reporting. To learn how, just request a demo, or put your URL in the box below and your test will start in minutes.
Published at DZone with permission of Noga Cohen , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.