JMeter 4.0. What's new?

    On February 11, the release of the new major version 4.0 of Apache JMeter took place . Since we use this tool for load testing on many projects, we could not leave this event unattended.

    The previous major release (version 3.0) was released a little less than two years ago (for comparison, version 2.0 was released already in 2004!). Also, over the past 2 years, several minor releases have been released (versions 3.1-3.3). This shows us how JMeter evolves to keep up with new technologies and meet the needs of developers.

    It seems that the new version of JMeter focuses primarily on improving the user interface (UX). The navigation and test creation process has become simpler, the elements are friendlier and more convenient, and the user notification system about problems with tests has been redesigned.



    Under cat, the most important changes in JMeter 4.0 that you need to know about.

    UX Enhancements


    New default interface color scheme


    JMeter now looks new! A dark color scheme ( Dracula LAF ) has been added and it is set by default. If you do not like it, then you can always return to the old topic through the menu “Options-> Look and Feel”.
    yjdfz new Dracula theme

    English is the default language


    Due to the fact that the JMeter interface is not translated into all languages, it was decided to make English the default language. You can choose any other interface language from the “Options-> Choose Language” menu.

    Most used items are now shown first


    In the updated JMeter, when you open the list of items through the menu, the most frequently used items will be at the top of the list, which makes creating new test scripts faster and more convenient.



    New items in JMeter 4.0


    Json assertion


    Artyom Fedorov from BlazeMeter created the JSON Assertion component for checking JSON documents. The code of this component is in the public domain, and if earlier it had to be installed as a plug-in, now it is part of the JMeter kernel. This means that now JMeter has all the necessary functions for working with JSON out of the box, and you no longer need to install third-party plugins for this. Checks work in three stages: it is determined whether the document is a JSON, the necessary paths are found, and finally, the values ​​of interest to the user are found. The transition to the next stage is carried out only after successfully passing the previous one.

    Boundary Extractor


    Boundary Extractor is a post-processor that allows you to extract boundary values ​​from server responses in accordance with user-defined rules. After the boundaries are found, the extractor will extract the values, create a string and save the result in a variable that can be configured in one of the element fields.

    Precise Throughput Timer


    Precise Throughput Timer is a timer that allows the user to set the load (number of samples per second / minute / hour / etc.) with which he wants to run his tests. This timer, unlike the Constant Throughput Timer, allows the user to more flexibly configure the distribution of samples over time. In addition, the execution is scheduled at random, which allows you to create a constant load. In addition to the above, this timer uses the Poisson process to distribute pauses between requests, which makes the test run most similar to the actions of a real user.



    Test Launch Improvements


    Java 9 support


    JMeter now supports Java 9. You no longer need to use the previous version of Java, however JMeter can work with both Java 8 and Java 9.

    Workbench removed from JMeter


    Thanks to the changes made by Artyom Fedorov from BlazeMeter, you no longer need to use Workbench in your scripts. Users often wrote that after the appearance of the Test Plan element several versions ago, the purpose of the Workbench became unclear, and moreover, the element itself became virtually useless and only confused what should be used in scripts. Thus, removing the Workbench from the interface was a logical step, and elements that previously could only be placed in the Workbench scopes can now be added to the Test Plan.

    Test Plan is now saved automatically


    No more annoying pop-up reminders to save changes to your tests!

    Element improvements


    • Three new options are now available for the JMS point-to-point sampler: read, read, browse, and clean.
    • Server Response Assertion now includes request data validation.
    • For the If controller, the option "interpret the condition as an expression of a variable" is enabled by default.
    • For JSR223 element, compiled script caching is now enabled by default.
    • The Loop controller and ForEach controller now store information about the current iteration number in a variable, which has the following format: __jm __ <Your element name> __ idx

    In addition, a number of bugs were fixed, new functions and a few more new elements were added. A complete list of changes is available on the JMeter website.

    This article is a translation. Original: Noga Cohen .

    Also popular now: