What's new in Apache JMeter 5.6?
Tags: performance, testing, java, tools
Published: 2023-08-02 02:08:22

<!-- wp:paragraph -->
<p>In this blog post, let us see what's new in Apache JMeter 5.6. You can check my last post about <a href="https://qainsights.com/whats-new-in-jmeter-5-5/" target="_blank" rel="noreferrer noopener">JMeter 5.5</a>. JMeter 5.6 was long due from the Apache community, it has been more than a year since we got an update. </p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Apache JMeter 5.6</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>There are no new and noteworthy changes in JMeter 5.6. But it comes with improvements and bug fixes. The following are the improvements made in JMeter 5.6.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Thread Groups</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://github.com/apache/jmeter/issues/5682">Issue #5682</a><a href="https://github.com/apache/jmeter/pull/717">Pull request #717</a>&nbsp;- Open Model Thread Group: avoid skipping rows from CSV Data Set Config</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Support custom thread group implementations in "Add think time" and "Save as test fragment" actions</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Open Model Thread Group: interrupt pending HTTP requests and other&nbsp;Interruptible&nbsp;test elements on test stop</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">HTTP Samplers and Test Script Recorder</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://github.com/apache/jmeter/pull/5911">Pull request #5911</a>&nbsp;- Use Caffeine for caching HTTP headers instead of commons-collections4 LRUMap</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://github.com/apache/jmeter/pull/5947">Pull request #5947</a>&nbsp;- Fetch resources referenced in&nbsp;&lt;link "rel"="preload"...&gt;&nbsp;elements</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><a href="https://github.com/apache/jmeter/pull/5869">Pull request #5869</a>&nbsp;- Allow more templates to format sampler names in the recorder:&nbsp;#{url},&nbsp;#{method},&nbsp;#{scheme},&nbsp;#{host},&nbsp;#{port}</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">Other samplers</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="https://github.com/apache/jmeter/pull/5909">Pull request #5909</a>&nbsp;- Use Caffeine for caching compiled scripts in JSR223 samplers instead of commons-collections4 LRUMap</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>Apart from the above improvements, there are general enhancements available in 5.6 along with non-functional changes such as JARs upgrades, accessibility, and more. </p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>I have a surprising feature in JMeter 5.6 for you, which is editable in almost all the checkbox controls. This was not possible prior to JMeter 5.6.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>By default, the checkbox has two attributes: either checked or unchecked. But starting from JMeter 5.6, you can enable the expression so that you can programmatically control the attributes.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Here is how you can edit the checkbox properties. </p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Right-click on the checkbox where you want to add the expression as shown below.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:image {"align":"center","id":17521,"sizeSlug":"full","linkDestination":"media"} -->
<figure class="wp-block-image aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2023/07/image.png"><img src="https://qainsights.com/wp-content/uploads/2023/07/image.png" alt="" class="wp-image-17521"/></a></figure>
<!-- /wp:image -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Click "<strong>Use Expression</strong>" This will launch a drop-down as shown below.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:image {"align":"center","id":17522,"sizeSlug":"full","linkDestination":"media"} -->
<figure class="wp-block-image aligncenter size-full"><a href="https://qainsights.com/wp-content/uploads/2023/07/image-1.png"><img src="https://qainsights.com/wp-content/uploads/2023/07/image-1.png" alt="" class="wp-image-17522"/></a></figure>
<!-- /wp:image -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Here you can select <code>true</code> to enable the checkbox, <code>false</code> to uncheck the checkbox, or you can use either the expressions <code>${__P(property_name)}</code> or <code>${variable_name}</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><code>__P</code> can be used to read the values from the JMeter CLI. <code>${}</code> can be used to read within the JMeter test plan.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">Checkbox expressions usecases</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>You may think where this feature will be useful. Actually it has various usecases: </p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul><!-- wp:list-item -->
<li>Test different thread groups consecutively.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>to test various HTTP sampler settings such as keep alive, multi-form data, headers, and more.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>Test various thread group properties</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:generateblocks/container {"uniqueId":"ca0fdc02","isDynamic":true,"blockVersion":4,"typography":{"textAlign":"center"}} -->
<!-- wp:generateblocks/button {"uniqueId":"2ffbaa84","hasUrl":true,"target":true,"blockVersion":4,"display":"inline-flex","alignItems":"center","columnGap":"0.5em","spacing":{"paddingTop":"15px","paddingRight":"20px","paddingBottom":"15px","paddingLeft":"20px"},"backgroundColor":"var(\u002d\u002dglobal-color-8)","backgroundColorHover":"#222222","textColor":"var(\u002d\u002dcontrast)","textColorHover":"#ffffff","hasIcon":true,"iconStyles":{"height":"1em","width":"1em"}} -->
<a class="gb-button gb-button-2ffbaa84" href="https://jmeter.apache.org/download_jmeter.cgi" target="_blank" rel="noopener noreferrer"><span class="gb-icon"><svg aria-hidden="true" role="img" height="1em" width="1em" viewBox="0 0 256 512" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"></path></svg></span><span class="gb-button-text"><strong>Download Apache JMeter 5.6</strong></span></a>
<!-- /wp:generateblocks/button -->
<!-- /wp:generateblocks/container -->

<!-- wp:paragraph -->
<p> </p>
<!-- /wp:paragraph -->