What's New in JMeter 5.3
On May 16th, 2020 the Apache JMeter team announced the availability of Apache JMeter version 5.3. In this post I will cover comprehensive information on major changes and improvements.
First, remember to always use the latest version of Apache JMeter as it’s recommended by our 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure article. The reason is that each new release improves the stability and performance of JMeter, fixes issues, adds new features, makes JMeter’s behavior more compatible with real browsers, etc. Make sure to periodically check for the latest stable release at JMeter Downloads page and upgrade your JMeter instances to use the most up-to-date software.
The changes introduced in JMeter 5.3 are mainly UI/UX-related, no new test elements were added.
Starting from JMeter 5.3 there are more visual themes that you can apply to your JMeter installation in order to make it look according to your needs or more consistent with your operating system style.
Look and feel now can be changed without having to restart JMeter
Advanced zoom in/out features
- Control+Alt+ Mouse Wheel shorthand can now be used for zooming fonts (CMD+Option on Mac)
- Global zoom (Options -> Zoom In/Out) now changes font size in JSR223 Test Elements
- Undo/Redo is now supported on editable fields (apart from Test Plan), if you click Ctrl+Z last action will be undone, Ctrl+Shift+Z will redo the action. On macOS equivalent shortcuts use the CMD button.
Currently selected language and log level are now highlighted under Options main menu entry:
When a test element in the tree is disabled all its descendants (children, children of children, etc.) are disabled as well and vice versa.
In JMeter 5.3, there are two incompatible changes that may impact your existing tests.
- httpclient4.time_to_live JMeter Property default value has been ramped up from 2 seconds to 60 seconds. It means that now connections will not be reused after one minute. The configuration change reflects the behavior of the modern web browsers and a well-behaved JMeter web test should accurately represent real browser activity. In order to revert to the previous behavior, add httpclient4.time_to_live=2000 line to user.properties file. JMeter restart will be required to pick the property up.
- Groovy library has been updated from 2.4.16 to 3.0.3, it’s now closer to Java in terms of re-using existing Java code. On the other hand, due to splitting from single groovy-all.jar to multiple jars, there were changes in packaging. For example, if you used json.internal.LazyMap now you need to import org.apache.groovy.json.internal.LazyMap. See Split package changes article of Groovy 3 release notes for more information on the impacted packages and of course, if your JMeter script isn’t doing what it is supposed to be doing the first place, look for clues in the jmeter.log file.