The Apache Software Foundation has updated JMeter to version 3.0 recently, and it was one of the largest updates the open source project has seen yet. This large update provides users with a host of new features, updates, bug fixes, and other improvements that make JMeter better than ever. RedLine13 fully supports Apache JMeter 3.0, and in case you missed the initial release notes, here’s what’s new in JMeter 3.0:
1. Updated UI and UX
- Simpler HTTP request UI
- New logo, icons, and elements
- Added new shortcuts
- Improved Thread Group UI
- Added support for HiDPI monitors
- Over 40 UI bug fixes
2. Introduction of New JSON Post Processor
- You can now easily extract data from JSON content by using the new, easy-to-use JSONPath post processor that is based on the Jayway JSON Path Library
- Overview comparing JSONPath syntax elements and XPath Syntax elements:
XPath | JSONPath | Description |
/ | $ | Root object/element |
. | @ | Current object/element |
/ | . or [ ] | Child operator |
.. | n/a | Parent operator |
// | .. | Recursive descent. JSONPath borrows this syntax from E4X |
* | * | Wildcard. All objects/elements, regardless of their names |
@ | n/a | Attribute access. JSON structures don’t have attributes |
[ ] | [ ] | Subscript operator. Xpath uses it to iterate over element collections and for predicates. In Javascript & JSON, it is the native array operator |
| | [ , ] | Union operator in Xpath results in a combination of node sets. JSONPath allows alternate names or array indices as a set. |
n/a | [start:end:step] | Array slice operator borrowed from ES4 |
[ ] | ? ( ) | Applies a filter (script) expression |
n/a | ( ) | Script expression, using the underlying script engine |
( ) | n/a | Grouping in Xpath |
3. Updated Reporting & Graphing Features
- Dynamic HTML reports can now be generated at the start or end of a load test or a result file
- You can now generate dynamic graphs in HTML pages
- Added a request summary graph showing successful and failed transaction percentages
- Support for APDEX
- Zoomable charts & graphs
- Addition of many new graphs and charts
4. Nashorn Support
- Nashorn can be used with Java 8 to act as a Javascript engine that provides improved performance and ease-of-use
- To enable, set “javascript.use_rhino=false” in “user.properties”
5. New Validation Feature
- With one click, you can now run multiple Thread Groups with only 1 user, 1 iteration, and no pauses as a means to validate.
6. JSR223 Test Elements No Longer Need a Cache Compilation Key
- Ability to simply check if cache compiled scripts are available, which JMeter will then pre-compile if supported
- Added support for Groovy
7. HTTP Sampler and Request Defaults
- Included a new advance options tab that provides more features
- You can now configure source address and “save response as MD5 hash” easily in the new advanced tab
8. Full Jexl3 integration
- Update brings new and improved scripting features and documentation to JMeter
9. Various Listener Updates
- Summariser is now easier to read; durations are displayed as “house:minutes:seconds”
- GraphiteBackendListner has a new server hits metric
- Can now define sampler list as a regular expression:
- View results tree improvements; can now search for a string:
10. Started Migration to HttpClient 4.5.2
- While migration to HttpClient 4.5.2 is still underway, it will drastically improve the overall JMeter experience.
- Supports recent RFC
- HttpClient4 implementation now supports SNI
- Performance improvements
- Better support for HTTP RFC 2616/RFC 7230
11. Introduced Sample Timeout Feature
- New pre-processor
- Can apply timeouts on various elements that are within its scope
If you’re interested in seeing the full release notes for Apache JMeter 3.0, then pay them a visit over at their website. We would like to thank both the Apache Software Foundation and all that have contributed to this update, as it is such an important tool for the testing and QA industry.