Jmeter 4.0

New and Noteworthy

Core improvements

JMeter now supports JAVA 9.

New Boundary Extractor element available which provides easy extraction with better performances

New JSON Assertion element available to assert on JSON responses.

New Precise Throughput Timer element available which produces Poisson arrivals with given constant throughput.

JMS Point-to-Point sampler has been enhanced with readbrowseclear options.

Best property values are now selected on many Test Elements to ensure best practices are the defaults:

  • Newly added If Controller now uses by default Expression which is the most performing option.
  • Newly added JSR223 Test Element now cache compiled script by default if language used provides this feature.

Loop controller and ForEach Controller now expose their current iteration as a variable named __jm__<Name of your element>__idx that you can use like this for example for a Loop Controller named MyLoopController:


. See Bug 61802Cookies are now shown in View Results Tree during recording. They were previously always shown as empty.

Response Assertion now allows you to customize assertion message and assert on Request Data.

UX improvements

JMeter now uses Darcula LAF by default

Workbench has been dropped from UI, you can now use Non Test Elements as immediate children of Test Plan.

Menu UX have been improved to make most used elements available more rapidly.

HTTP(S) Test Script Recorder now allows you to name your transactions while recording in a more human readable way.

UX improvements made on, among the most notable :

  • Module Controller informs user at least one Controller is required
  • Function Helper Dialog (The wizard that helps using and testing functions) has been improved in many fields.
  • Switch Controller trims text to avoid issues when a space is introduced before/after name
  • Test Plan is now saved before running the test plan


New Function __digest provides easy computing of SHA-XXX, MDX hashes:

${__digest(MD5,Apache JMeter 4.0 rocks !,,,)}

will return 0e16c3ce9b6c9971c69ad685fd875d2bNew Function __dateTimeConvert provides easy conversion between date formats:

${__dateTimeConvert(01 Jan 2017,dd MMM yyyy,dd/MM/yyyy,)}

will return 01/01/2017New Function __changeCase provides ability to switch to Upper / Lower / Capitalized cases

${__changeCase(Avaro omnia desunt\, inopi pauca\, sapienti nihil,UPPER,)}

will return AVARO OMNIA DESUNT, INOPI PAUCA, SAPIENTI NIHILNew Functions __isVarDefined and __isPropDefined provide testing of properties and variables availability


will return true


will return true

Scripting and Plugin Development

You can now call SampleResult#setIgnore() if you don’t want your sampler to be visible in results

JavaSamplerContext used by AbstractJavaSamplerClient has been enhanced with new methods to easy plugin development.

JMeter now distributes additional Maven sources and javadoc artifacts into Maven repository

Plugins can now register listeners to be notified when a Test Plan is opened/closed

And more :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.