Noga Cohen is a Sr. Product Marketing Manager for CA BlazeMeter. She manages the BlazeMeter blog and other content activities. Noga focuses on creating technological content in the fields of performance, load testing and API testing, both independently and by managing writers who are developers. Noga has more than 5 years of experience in a wide scope of writing techniques: hi-tech, business, journalist and academic.

Become a JMeter and Continuous Testing Pro

Start Learning

Test Your Website Performance NOW! |

arrowPlease enter a URL with http(s)
Feb 11 2018

What’s New in JMeter 4.0?

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 human readable and alerting you when there are issues with your test. BlazeMeter supports JMeter V4.


Here are the most important things you need to know about the JMeter 4.0 version:


UX Improvements


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".


jmeter 4 gui


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.


New Elements in JMeter 4.0


JSON Assertion


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.


Boundary Extractor


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.


Test Execution Improvements


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.


Workbench Dropped


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.


Elements Improvements


  • 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.


Learn JMeter


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.

arrowPlease enter a URL with http(s)

Interested in writing for our Blog?Send us a pitch!