Apache JMeter

About

Download

Documentation

Tutorials (PDF format)

Community

Foundation


Changes

This page details the changes made in the current version only.
Earlier changes are detailed in the History of Previous Changes .

Version 2.7

New and Noteworthy

OS Process Sampler

A new System Sampler that can be used to execute commands on the local machine.


OS Process Sampler results example with DNS lookup command 'dig'


JMS Samplers improvements

Addition of a "Non Persistent Delivery" option to send "Non-Persistent" (Guaranteed to be delivered at most once. Message loss is not a concern.) JMS messages


Support sending of JMS Object Messages to enable sending Objects unmarshalled from XML by XStream


Enable setting JMS Properties through JMS Publisher sampler


Test Action sampler

Allow premature exit from a loop


Webservice Sampler improvements

Add a jmeter property soap.document_cache to control size of Document Cache


Make Maintain HTTP Session configurable


Aggregate graph: Clustered Bar char with average, median, 90% line, min and max columns

Aggregate graph changes to Clustered Bar chart, add more columns (median, 90% line, min, max) and options, fixed some bugs.


New settings for aggregate graph


Improvements of HTML report design generated by JMeter Ant task in extras folder

HTML report example


HTML report example with some assertion errors


Mailer Visualizer

  • Enable authentication, and connection security with SSL or TLS
  • Improve GUI design
  • Add internationalisation (i18n) support


New Visual Indicator of number of ERROR/FATAL messages in logs

Indicator shows number of ERROR/FATAL messsages in logs, it can be clicked to toggle Log Viewer panel


Dialog box to show detail of a parameter row

Add a detail button on parameters table to show detail of a Row


Detail box example


Plugin writers

New interface org.apache.jmeter.engine.util.ConfigMergabilityIndicator has been introduced to tell whether a ConfigTestElement can be merged in Sampler (see Bug 53042):

public boolean applies(ConfigTestElement configElement);

New interface org.apache.jmeter.protocol.http.proxy.SamplerCreator to allow plugging HTTP based samplers that differ from default HTTP Samplers through Proxy during Recording Phase (see Bug 52674):

public String[] getManagedContentTypes();
public HTTPSamplerBase createSampler(HttpRequestHdr request, Map pageEncodings, Map formEncodings);
public void populateSampler(HTTPSamplerBase sampler, HttpRequestHdr request, Map pageEncodings, Map formEncodings) throws Exception;

Known bugs

The Once Only controller behaves correctly under a Thread Group or Loop Controller, but otherwise its behaviour is not consistent (or clearly specified).

Listeners don't show iteration counts when a If Controller has a condition which is always false from the first iteration (see Bug 52496). A workaround is to add a sampler at the same level as (or superior to) the If Controller. For example a Test Action sampler with 0 wait time (which doesn't generate a sample), or a Debug Sampler with all fields set to False (to reduce the sample size).

Incompatible changes

When doing replacement of User Defined Variables, Proxy will not substitute partial values anymore when "Regexp matching" is used. It will use Perl 5 word matching ("\b")

In User Defined Variables, Test Plan, HTTP Sampler Arguments Table, Java Request Defaults, JMS Sampler and Publisher, LDAP Request Defaults and LDAP Extended Request Defaults, rows with empty Name and Value are no more saved.

JMeter now expands the Test Plan tree to the testplan level and no further and selects the root of the tree. Furthermore default value of onload.expandtree is false.

Graph Full Results Listener has been removed.

When calling "Clear All" command, if Log Viewer is displayed its content will be cleared.

Bug fixes

HTTP Samplers and Proxy

  • Bug 52613 - Using Raw Post Body option, text gets encoded
  • Bug 52781 - Content-Disposition header garbled even if browser compatible headers is checked (HC4)
  • Bug 52796 - MonitorHandler fails to clear variables when starting a new parse
  • Bug 52871 - Multiple Certificates not working with HTTP Client 4
  • Bug 52885 - Proxy : Recording issues with HTTPS, cookies starting with secure are partly truncated
  • Bug 52886 - Proxy : Recording issues with HTTPS when spoofing is on, secure cookies are not always changed
  • Bug 52897 - HTTPSampler : Using PUT method with HTTPClient4 and empty Content Encoding and sending files leads to NullPointerException
  • Bug 53145 - HTTP Sampler - function in path evaluated too early

Other Samplers

  • Bug 51737 - TCPSampler : Packet gets converted/corrupted
  • Bug 52868 - BSF language list should be sorted
  • Bug 52869 - JSR223 language list currently uses BSF list which is wrong
  • Bug 52932 - JDBC Sampler : Sampler is not marked in error in an Exception which is not of class IOException, SQLException, IOException occurs
  • Bug 52916 - JDBC Exception if there is an empty user defined variable
  • Bug 52937 - Webservice Sampler : Clear Soap Documents Cache at end of Test
  • Bug 53027 - Jmeter starts throwing exceptions while using SMTP Sample in a test plan with HTTP Cookie Mngr or HTTP Request Defaults
  • Bug 53072 - JDBC PREPARED SELECT statements should return results in variables like non prepared SELECT

Controllers

  • Bug 52968 - Option Start Next Loop in Thread Group does not mark parent Transaction Sampler in error when an error occurs
  • Bug 50898 - IncludeController : NullPointerException loading script in non-GUI mode if Includers use same element name

Listeners

  • Bug 43450 - Listeners/Savers assume SampleResult count is always 1; fixed Generate Summary Results

Assertions

  • Bug 52848 - NullPointer in "XPath Assertion"

Functions

I18N

  • Bug 52551 - Function Helper Dialog does not switch language correctly
  • Bug 52552 - Help reference only works in English

General

  • Bug 52639 - JSplitPane divider for log panel should be hidden if log is not activated
  • Bug 52672 - Change Controller action deletes all but one child samplers
  • Bug 52694 - Deadlock in GUI related to non AWT Threads updating GUI
  • Bug 52678 - Proxy : When doing replacement of UserDefinedVariables, partial values should not be substituted
  • Bug 52728 - CSV Data Set Config element cannot coexist with BSF Sampler in same Thread Plan
  • Bug 52762 - Problem with multiples certificates: first index not used until indexes are restarted
  • Bug 52741 - TestBeanGUI default values do not work at second time or later
  • Bug 52783 - oro.patterncache.size property never used due to early init
  • Bug 52789 - Proxy with Regexp Matching can fail with NullPointerException in Value Replacement if value is null
  • Bug 52645 - Recording with Proxy leads to OutOfMemory
  • Bug 52679 - User Parameters columns narrow
  • Bug 52843 - Sample headerSize and bodySize not being accumulated for subsamples
  • Bug 52967 - The function __P() couldn't use default value when running with remote server in GUI mode.
  • Bug 50799 - Having a non-HTTP sampler in a http test plan prevents multiple header managers from working
  • Bug 52997 - Jmeter should not exit without saving Test Plan if saving before exit fails
  • Bug 53136 - Catching Throwable needs to be carefully handled

Improvements

HTTP Samplers

Other samplers

  • Bug 52775 - JMS Publisher : Add Non Persistent Delivery option
  • Bug 52810 - Enable setting JMS Properties through JMS Publisher sampler
  • Bug 52938 - Webservice Sampler : Add a jmeter property soap.document_cache to control size of Document Cache
  • Bug 52939 - Webservice Sampler : Make MaintainSession configurable
  • Bug 53073 - Allow to assign the OUT result of a JDBC CALLABLE to JMeter variables
  • Bug 53164 - New System Sampler
  • Bug 53172 - OS Process Sampler - allow specification of Environment Variables
  • Bug 52936 - JMS Publisher : Support sending of JMS Object Messages

Controllers

Listeners

  • Bug 52603 - MailerVisualizer : Enable SSL , TLS and Authentication
  • Bug 52698 - Remove Graph Full Results Listener
  • Bug 53070 - Change Aggregate graph to Clustered Bar chart, add more columns (median, 90% line, min, max) and options, fixed some bugs
  • Bug 53246 - Mailer Visualizer: improve GUI design and I18N

Timers, Assertions, Config, Pre- & Post-Processors

Functions

I18N

  • Mailer Visualizer has been internationalized. French translation added. (see Bug 53246)

General

  • Bug 45839 - Test Action : Allow premature exit from a loop
  • Bug 52614 - MailerModel.sendMail has strange way to calculate debug setting
  • Bug 52782 - Add a detail button on parameters table to show detail of a Row
  • Bug 52674 - Proxy : Add a Sampler Creator to allow plugging HTTP based samplers using potentially non textual POST Body (AMF, Silverlight...) and customizing them for others
  • Bug 52934 - GUI : Open Test plan with the tree expanded to the testplan level and no further and select the root of the tree
  • Bug 52941 - Improvements of HTML report design generated by JMeter Ant task extra
  • Bug 53042 - Introduce a new method in Sampler interface to allow Sampler to decide wether a config element applies to Sampler
  • Bug 52771 - Documentation : Added RSS feed on JMeter Home page under link "Subscribe to What's New"
  • Bug 42784 - Show the number of errors logged in the GUI
  • Bug 53256 - Make Clear All command clean LogViewer content
  • Bug 53261 - Make "Error/fatal" counter added in Bug 42784 open Log Viewer panel when Warn Indicator is clicked

Non-functional changes

  • Upgraded to rhino 1.7R3 (was js-1.7R2.jar). Note: the Maven coordinates for the jar were changed from rhino:js to org.mozilla:rhino. This does not affect JMeter directly, but might cause problems if using JMeter in a Maven project with other code that depends on an earlier version of the Rhino Javascript jar.
  • Bug 52675 - Refactor Proxy and HttpRequestHdr to allow Sampler Creation by Proxy
  • Bug 52680 - Mention version in which function was introduced
  • Bug 52788 - HttpRequestHdr : Optimize code to avoid useless work
  • JMeter Ant (ant-jmeter-1.1.1.jar) task was upgraded from 1.0.9 to 1.1.1
  • Updated to commons-io 2.2 (from 2.1)
  • Bug 53129 - Upgrade XStream from 1.3.1 to 1.4.2
  • Updated to httpcomponents-client 4.1.3 (from 4.1.2)
  • Updated JMeter distributed testing guide (jmeter_distributed_testing_step_by_step.pdf). Changes source format to OpenOffice odt (from sxw)




Copyright © 1999-2012, Apache Software Foundation
Apache, Apache JMeter, JMeter, the Apache feather, and the Apache JMeter logo are trademarks of the Apache Software Foundation.