Jmeter3.0新特性
Posted 异彩飞天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter3.0新特性相关的知识,希望对你有一定的参考价值。
2016-5-19昨日,Jmeter又更新了新版本。
那么新版本有哪些新特性呢?
Changes
Earlier changes are detailed in the History of Previous Changes.
Version 3.0
Summary- New and Noteworthy
- Known bugs
- Incompatible changes
- Bug fixes
- Improvements
- Non-functional changes
- Thanks
New and Noteworthy
Test plan creation and debugging improvements
New Search Feature in View Results Tree to allow searching for text / regexp in Request/Responses/Headers/Cookies/… This will ease correlation and Test plans creation
New JSON Post Processor to better extract data from JSON content using user friendly JSON-PATH syntax
JSON is now a first class citizen in JMeter with the introduction of a new JSONPath post processor. This post processor is very similar to Regular Expression Post Processor but is well suited for JSON code. It is based on Jayway JSON Path library
New validation feature, in one click run a selection of Thread Groups with 1 user, no pause and 1 iteration
JSR223 Test Elements do not require a Cache Compilation Key anymore
Just check Cache compiled script if available checkbox and the elements (Pre-Processor, Post-Processor, Assertions, Listeners, …) will pre-compile the script and cache the compiled code if the underlying language supports it
Nashorn can now be used as javascript engine providing better performance and easier usage
To enable Nashorn, you need to set in user.properties:javascript.use_rhino=false
Nashorn can be used with Java 8 in the following elements:
- IfController
- JSR223 Test elements with javascript language selected
- __javaScript function
Jexl3 has been integrated. It provides new scripting features and much better documentation
JEXL3 can now be used thanks to a new function __jexl3. JEXL is a language very similar to JSTL.Simplified HTTP Request UI
A new "Advanced" tab has been added to HTTP Request to simplify configuration. The file upload feature has been moved into a dedicated tab. This increases the space available for parameters in UI and simplifies the UX.
HTTP Request Defaults improvements
You can now configure Source Address (IP Spoofing like feature) and "Save response as MD5 hash" in Advanced Tab
Reporting improvements
New Reporting Feature generating dynamic Graphs in html pages (APDEX, Summary report and Graphs)
A dynamic HTML report can now be generated either at the end of a load test or from a result file whenever you want. See Generating dashboard for more details. This report provides the following metrics:
- APDEX (Application Performance Index) table that computes the APDEX based on configurable values for tolerated and satisfied thresholds
- A request summary graph showing the Success and failed transaction percentage:
- A Statistics table providing in one table a summary of all metrics per transaction including 3 configurable percentiles :
- An error table providing a summary of all errors and their proportion in the total requests :
- Zoomable chart where you can check/uncheck every transaction to show/hide it for:
- Response times Over Time :
- Bytes throughput Over Time :
- Latencies Over Time :
- Hits per second :
- Response codes per second :
- Transactions per second :
- Response Time vs Request per second :
- Latency vs Request per second :
- Response times percentiles :
- Active Threads Over Time :
- Times vs Threads :
- Response Time Distribution :
GraphiteBackendListener has a new Server Hits metric
Summariser displays a more readable duration
Now duration are display in the format hours:minutes:secondsGenerate Summary Results + 1 in 00:00:01 = 1.7/s Avg: 1 Min: 1 Max: 1 Err: 0 (0.00%) Active: 1 Started: 1 Finished: 0 Generate Summary Results + 138 in 00:00:09 = 16.2/s Avg: 0 Min: 0 Max: 1 Err: 0 (0.00%) Active: 9 Started: 9 Finished: 0 Generate Summary Results = 139 in 00:00:09 = 15.3/s Avg: 0 Min: 0 Max: 1 Err: 0 (0.00%) Generate Summary Results + 467 in 00:00:10 = 47.0/s Avg: 0 Min: 0 Max: 1 Err: 0 (0.00%) Active: 19 Started: 19 Finished: 0 Generate Summary Results = 606 in 00:00:19 = 31.9/s Avg: 0 Min: 0 Max: 1 Err: 0 (0.00%) ? Generate Summary Results + 1662 in 00:00:10 = 166.1/s Avg: 0 Min: 0 Max: 1 Err: 0 (0.00%) Active: 50 Started: 50 Finished: 0 Generate Summary Results = 28932 in 00:03:19 = 145.4/s Avg: 0 Min: 0 Max: 1 Err: 0 (0.00%) Generate Summary Results + 1664 in 00:00:10 = 166.4/s Avg: 0 Min: 0 Max: 1 Err: 0 (0.00%) Active: 50 Started: 50 Finished: 0 Generate Summary Results = 30596 in 00:03:29 = 146.4/s Avg: 0 Min: 0 Max: 1 Err: 0 (0.00%) Generate Summary Results + 1661 in 00:00:10 = 166.1/s Avg: 0 Min: 0 Max: 1 Err: 0 (0.00%) Active: 50 Started: 50 Finished: 0 Generate Summary Results = 32257 in 00:03:39 = 147.3/s Avg: 0 Min: 0 Max: 1 Err: 0 (0.00%)
BackendListener now allows you to define sampler list as a regular expression
You can now use a regular expression to select the samplers you want to filter. Use parameter: useRegexpForSamplersList=true and put a regex in pararameter samplersList
Protocols and Load Testing improvements
Migration to HttpClient 4.5.2 has been started. Although not completely finished, it improves many areas in JMeter
Migration to HttpClient 4.5.2 improves the following fields of JMeter:
- Support of recent RFC like HTTP State Management Mechanism RFC-6265 for Cookies, you should use now HC4CookieHandler in HTTP Cookie Manager component and select standard Cookie policy
- Server Name Indication (SNI) support for HttpClient4 implementation
- Improved and better performing validation mechanism for Stale connections and Keep-Alive management, see properties httpclient4.validate_after_inactivity and httpclient4.time_to_live
- Many bug fixes since previous version 4.2.6 used in JMeter 2.13, see HttpClient 4.5.X release notes
- Better support of HTTP RFC 2616 / RFC 7230 and fixes to issues with deflate compression management
Parallel Downloads is now realistic and scales much better:
- Parsing of CSS imported files (through @import) or embedded resources (background, images, …)
- Lazy initialization of SSL context: For 15 Threads 138% more sampling in 5 minutes for HTTP only tests. Gain increases as number of threads increases
- Rework of Connection management for Parallel Download: This better simulates current browser behaviour and improves throughput. For 15 Threads 135% extra samples in 5 minutes.
- Reuse of Threads used for Parallel downloads through a ThreadPool: This improves throughput and increases JMeter scalability for such tests
- Total of 750% more throughput found on test with 15 threads, the more threads you have the more the gain
- You can now compute and store just the MD5 of embedded resources instead of storing the entire response, this can be done by setting the property httpsampler.embedded_resources_use_md5=true
Introduction of Sample Timeout feature
This new Sample Timeout Pre-Processor allows you to apply a Timeout on the elements that are in its scope. In the screenshot below the 10 second timeout applies to the Debug Sampler and HTTP Request elements.
JDBC request now uses DBCP2 pool
JDBC Request and JDBC Connection Configuration have been updated to replace old Excalibur Pool by Apache Commons DBCP2 pool. As a consequence properties have been migrated to equivalent when available and UI has been updated. Note that unlike Excalibur, Commons DBCP uses the validation query when creating the pool. So make sure the query is valid. The default query suits many databases, but not all - for example Oracle requires ‘SELECT 1 FROM DUAL‘ or similar.
UX Improvements:
Better display in HiDPI screens
See JMeter with a HiDPI screen on Linux or Windows in Hints and Tips section in user manual
New Icon look and Logo
JMeter has a new Logo created by Felix Schumacher.
Icons have also been refreshed to give a more modern style and make them more meaningful
Lots of fixes of annoying little bugs
Around 40 UI fixes have been made to either fix buggy, confusing behaviour or simplify usage by not allowing incompatible options to be selected
Improved Thread Group UI and related actions (Start, Start No Timers, Validate)
Creating and testing a Test Plan before Load Test has been much simplified by allowing you to only start a selection of Thread Group, start them without applying Timers (thus gaining time) or start them using a new Validation mode. This validation mode allows you to start a Thread Group (without modifying it) with 1 thread, 1 iteration and without applying timers. This validation mode can be customized.
New shortcuts
- Add most used elements (Ctrl + 0 … Ctrl + 9), configurable through gui.quick_XXX properties
- Shortcuts to expand nodes
Core improvements
Configuration simplification with better defaults
Default values for many properties have been modified to make JMeter configuration optimal Out of the box. Read "Incompatible changes" section for more details.
Apache Groovy bundled with JMeter
Apache Groovy, the well-known JVM scripting language, is now bundled with Apache JMeter in lib folder. This allows you to use it immediately through JSR223 Elements by selecting the Groovy language.
Superflous and old properties removed
Old properties that existed to maintain backward compatibility or to offer some superflous customization have been removed. Read "Incompatible changes" section to see which properties have been removed.
Code and documentation improvements
- Migration to Java7 source code and use of its syntactic sugar
- Major code cleanups
- Full review of documentation and improvement both in content and presentation
Improvements to unit tests
- Migration of many tests to JUnit 4
- Better management of Headless tests
- More Unit Tests
Dependencies refresh
Deprecated Libraries dropped or replaced by up to date ones:
- Excalibur replaced by commons-dbcp
- htmllexer, htmlparser removed
- soap removed
- jdom removed
Slf4j can now be used within Plugins and core code
You can now use SLF4J logging wrapper in your custom plugins or org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient subclasses.
Incompatible changes
- Since version 3.0, Groovy-2.4.6 is bundled with JMeter (lib folder), ensure you remove old version or referenced versions through properties search_paths or user.classpath
- Since version 3.0, jmeter.save.saveservice.assertion_results_failure_message property value is true, meaning CSV file for results will contain an additional column containing assertion result response message, see Bug 58978
- Since version 3.0, jmeter.save.saveservice.print_field_names property value is true, meaning CSV file for results will contain field names as first line in CSV, see Bug 58991
- Since version 3.0, jmeter.save.saveservice.idle_time property value is true, meaning CSV/XML result files will contain an additional column containing idle time between samplers, see Bug 57182
- In RandomTimer class, protected instance timer field has been replaced by getTimer() protected method, this is related to Bug 58100. This may impact 3rd party plugins.
- Since version 3.0, you can use Nashorn Engine (default
javascript engine is Rhino) under Java8 for Elements that use Javascript
Engine (__javaScript, IfController). If you want to use it, use property javascript.use_rhino=false, see
Bug
58406.
Note: in a future version, we will switch to Nashorn by default. Users are encouraged to report any issue related to using Nashorn instead of Rhino.
- Since version 3.0, JMS Publisher will reload contents of file if Message source is "From File" and the "Filename" field changes (e.g. if it uses a variable that has changed)
- org.apache.jmeter.gui.util.ButtonPanel has been removed, if you use it in your 3rd party plugin or custom development ensure you update your code. See Bug 58687
- Property jmeterthread.startearlier has been removed. See Bug 58726
- Property jmeterengine.startlistenerslater has been removed. See Bug 58728
- Property jmeterthread.reversePostProcessors has been removed. See Bug 58728
- Property jmeter.toolbar.display has been removed, the toolbar is now always displayed. See Bug 59236
- Property jmeter.errorscounter.display has been removed, the errors/warnings counter is now always displayed. See Bug 59236
- Property xml.parser has been removed, it is not used anymore as org.apache.jmeter.util.JMeterUtils#getXMLParser has been deprecated and is not used either. See Bug 59236
- Summariser listener now shows the duration in the format HH:mm:ss (Hour:Minute:Second), it previously showed the duration in seconds. See Bug 58776
- org.apache.jmeter.protocol.http.visualizers.RequestViewHTTP.getQueryMap signature has changed, if you use it ensure you update your code. See Bug 58845
- JMS Subscriber will consider a sample to be an error if the number of received messages is not equal to expected number of messages. It previously considered a sample OK if at least 1 message was received. See Bug 58980
- Since version 3.0, HTTP(S) Test Script recorder defaults to using port 8888 (as configured when using Recording Template). See Bug 59006
- Since version 3.0, the parser for embedded resources (replaced since 2.10 by Lagarto based implementation) which relied on the htmlparser library (HtmlParserHTMLParser) has been dropped along with its dependencies.
- Since version 3.0, support for reading old Avalon format JTL (result) files has been removed, see Bug 59064
- Since version 3.0, the default property value for http.java.sampler.retries has been changed to 0 (no retry by default) to align it with the behaviour of HttpClient4.
Note also that its meaning has changed: before 3.0, http.java.sampler.retries=1 meant No Retry (i.e. total tries = 1), since 3.0 http.java.sampler.retries=1 means 1 retry. (Note: this only applies to the Java HTTP Sampler)
- Since 3.0, the following deprecated classes have been dropped
- org.apache.jmeter.protocol.http.modifier.UserParameterXMLContentHandler
- org.apache.jmeter.protocol.http.modifier.UserParameterXMLErrorHandler
- org.apache.jmeter.protocol.http.modifier.UserParameterXMLParser
- httpsampler.await_termination_timeout has been replaced by httpsampler.parallel_download_thread_keepalive_inseconds which is now the keep alive time for the parallel download threads (in seconds).
- JDBC Request has been updated to use commons-dbcp2, since then the behaviour is slightly different, ensure you have a correct "Validation Query" for your database. See Bug 58786
- The following jars have been removed:
- excalibur-datasource-2.1.jar (see Bug 59156)
- excalibur-instrument-1.0.jar (see Bug 58786)
- excalibur-pool-api-2.1.jar (see Bug 58786)
- excalibur-pool-impl-2.1.jar (see Bug 58786)
- excalibur-pool-instrumented-2.1.jar (see Bug 58786)
- htmllexer-2.1.jar (see Bug 59037)
- htmlparser-2.1.jar (see Bug 59037)
- soap-2.3.1.jar
- jdom-1.1.3.jar (see Bug 59156)
- Maximum number of redirects allowed by JMeter is now 20, it was previously 5. This can be changed with the property httpsampler.max_redirects. See Bug 59382
Deprecated and removed elements
- MongoDB elements (MongoDB Source Config, MongoDB Script) have been deprecated and will be removed in the next version of JMeter. They do not appear anymore in the menu, if you need them modify not_in_menu property. The JMeter team advises not to use them anymore. See Bug 58772
- WebService(SOAP) Request and HTML Parameter Mask which were deprecated in 2.13 version, have now been removed following our deprecation strategy.
Classes and properties which were only used by those elements have been dropped:
- org.apache.jmeter.protocol.http.util.DOMPool
- org.apache.jmeter.protocol.http.util.WSDLException
- org.apache.jmeter.protocol.http.util.WSDLHelper
- Property soap.document_cache
- JAR soap-2.3.1 has been also removed
- __jexl function (i.e. JEXL 1) has been deprecated and will be removed in next version. See Bug 58903
- Spline Visualizer listener and Distribution Graph listener have been deprecated and will be removed in the next version of JMeter. They do not appear anymore in the menu, if you need them modify not_in_menu property. JMeter team advises not to use them anymore. See Bug 58791
Improvements
HTTP Samplers and Test Script Recorder
- Bug 57696 - HTTP Request : Improve responseMessage when resource download fails. Contributed by Ubik Load Pack (support at ubikloadpack.com)
- Bug 57995 - Use FileServer for HTTP Request files. Implemented by Andrey Pokhilko (andrey at blazemeter.com) and contributed by BlazeMeter Ltd.
- Bug 58843 - Improve the usable space in the HTTP sampler GUI. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58852 - Use less memory for PUT requests. The uploaded data will no longer be stored in the Sampler. This is the same behaviour as with POST requests.
- Bug 58860 - HTTP Request : Add automatic variable generation in HTTP parameters table by right click. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58923 - normalize URIs when downloading embedded resources.
- Bug 59005 - HTTP Sampler : Added WebDAV verb (SEARCH).
- Bug 59006 - Change Default proxy recording port to 8888 to align it with Recording Template. Contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)
- Bug 58099 - Performance : Lazily initialize HttpClient SSL Context to avoid its initialization even for HTTP only scenarios
- Bug 57577 - HttpSampler : Retrieve All Embedded Resources, add property "httpsampler.embedded_resources_use_md5" to only compute md5 and not keep response data. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59023 - HttpSampler UI : rework the embedded resources labels and change default number of parallel downloads to 6. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59028 - Use SystemDefaultDnsResolver singleton. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59036 - FormCharSetFinder : Use JSoup instead of deprecated HTMLParser
- Bug 59034 - Parallel downloads connection management is not realistic. Contributed by Benoit Wiart (benoit dot wiart at gmail.com) and Philippe Mouawad
- Bug 59060 - HTTP Request GUI : Move File Upload to a new Tab to have more space for parameters and prevent incompatible configuration. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59103 - HTTP Request Java Implementation: Change default "http.java.sampler.retries" to align it on HttpClient behaviour and make the name meaningful
- Bug 59083 - HTTP Request : Make Method field editable so that additional methods (WebDAV) can be added easily
- Bug 59118 - Add comment in recorded think time by proxy recorder. Contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)
- Bug 59116 - Add the possibility to setup a prefix to sampler name recorded by proxy. Partly based on a patch by Antonio Gomes Rodrigues (ra0077 at gmail.com)
- Bug 59129 - HTTP Request : Simplify GUI with simple/advanced Tabs
- Bug 59033 - Parallel Download : Rework Parser classes hierarchy to allow plug-in parsers for different mime types
- Bug 52073 - Embedded Resources Parallel download : Improve performances by avoiding shutdown of ThreadPoolExecutor at each sample. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59190 - HTTP(S) Test Script Recorder : Suggested excludes should ignore case. Contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)
- Bug 59140 - Parallel Download : Add CSS Parsing to extract links from CSS files
- Bug 59249 - Http Request Defaults : Add "Source address" and "Save responses as MD5"
- Bug 59382 - More realistic default value for httpsampler.max_redirects
Other samplers
- Bug 57928 - Add ability to define protocol (http/https) to AccessLogSampler GUI. Contributed by Jérémie Lesage (jeremie.lesage at jeci.fr)
- Bug 58300 - Make existing Java Samplers implement Interruptible
- Bug 58160 - JMS Publisher : reload file content if file name changes. Based partly on a patch contributed by Maxime Chassagneux (maxime.chassagneux at gmail.com)
- Bug 58786 - JDBC Sampler : Replace Excalibur DataSource by more up to date library commons-dbcp2
- Bug 59205 - TCP Sampler: Set connect time in sampler when connection is established.
- Bug 59381 - JMSPublisher : FileChooserDialog filter does not work for browser buttons. Based partly on a patch contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)
Controllers
- Bug 58406 - IfController : Allow use of Nashorn Engine if available for JavaScript evaluation
- Bug 58281 - RandomOrderController : Improve randomization algorithm performance. Contributed by Graham Russell (jmeter at ham1.co.uk)
- Bug 58675 - Module controller : error message can easily be missed. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58673 - Module controller : when the target element is disabled the default jtree icons are displayed. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58674 - Module controller : it should not be possible to select more than one node in the tree. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58680 - Module Controller : ui enhancement. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58989 - Record controller gui : add a button to clear all the recorded samples. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
Listeners
- Bug 58041 - Tree View Listener should show sample data type
- Bug 58122 - GraphiteBackendListener : Add Server Hits metric. Partly based on a patch from Amol Moye (amol.moye at thomsonreuters.com)
- Bug 58681 - GraphiteBackendListener : Don‘t send data if no sampling occurred
- Bug 58776 - Summariser should display a more readable duration
- Bug 58791 - Deprecate listeners: Distribution Graph (alpha) and Spline Visualizer
- Bug 58849 - View Results Tree : Add a search panel to the request http view to be able to search in the parameters table. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58857 - View Results Tree : the request view http does not allow to resize the parameters table first column. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58955 - Request view http does not correctly display http parameters in multipart/form-data. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 55597 - View Results Tree: Add a search feature to search in recorded samplers
- Bug 59102 - View Results Tree: Better default value for "view.results.tree.max_size"
- Bug 59099 - Backend listener : Add the possibility to consider samplersList as a Regular Expression. Contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)
- Bug 59424 - Visualizer : Add "Clear" in popup menu
Timers, Assertions, Config, Pre- & Post-Processors
- Bug 58303 - Change usage of bouncycastle api in SMIMEAssertion to get rid of deprecation warnings.
- Bug 58515 - New JSON related components : JSON-PATH Extractor and JSON-PATH Renderer in View Results Tree. Donated by Ubik Load Pack (support at ubikloadpack.com).
- Bug 58698 - Correct parsing of auth-files in HTTP Authorization Manager.
- Bug 58756 - CookieManager : Cookie Policy select box content must depend on Cookie implementation.
- Bug 56358 - Cookie manager supports cross port cookies and RFC6265. Thanks to Oleg Kalnichevski (olegk at apache.org)
- Bug 58773 - TestCacheManager : Add tests for CacheManager that use HttpClient 4
- Bug 58742 - CompareAssertion : Reset data in TableEditor when switching between different CompareAssertions in gui. Based on a patch by Vincent Herilier (vherilier at gmail.com)
- Bug 59108 - TableEditor: Allow rows to be moved up and down. Contributed by Vincent Herilier (vherilier at gmail.com)
- Bug 58848 - Argument Panel : when adding an argument (add button or from clipboard) scroll the table to the new line. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58865 - Allow empty default value in the Regular Expression Extractor. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59156 - XMLAssertion : drop jdom dependency by using XMLReader
- Bug 59328 - Better tooltip for Variable Names in CSVDataSet. Contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)
Functions
- Bug 58477 - __javaScript function : Allow use of Nashorn engine for Java8 and later versions
- Bug 58903 - Provide __jexl3 function that uses commons-jexl3 and deprecated __jexl (1.1) function
I18N
General
- Bug 58736 - Add Sample Timeout support
- Bug 57913 - Automated backups of last saved JMX files. Contributed by Benoit Vatan (benoit.vatan at gmail.com)
- Bug 57988 - Shortcuts (Ctrl + 1 … Ctrl + 9) to quickly add elements into test plan. Implemented by Andrey Pokhilko (andrey at blazemeter.com) and contributed by BlazeMeter Ltd.
- Bug 58100 - Performance enhancements : Replace Random by ThreadLocalRandom.
- Bug 58677 - TestSaveService#testLoadAndSave use the wrong set of files. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58689 - Add shortcuts to expand / collapse a part of the tree. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58696 - Create Ant task to setup Eclipse project
- Bug 58653 - New JMeter Dashboard/Report with Dynamic Graphs, Tables to help analyzing load test results. Developed by Ubik-Ingenierie and contributed by Decathlon S.A. and Ubik-Ingenierie / UbikLoadPack
- Bug 58699 - Workbench changes neither saved nor prompted for saving upon close. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58728 - Drop old behavioural properties
- Bug 57319 - Upgrade to HttpClient 4.5.2. With the big help from Oleg Kalnichevski (olegk at apache.org) and Gary Gregory (ggregory at apache.org).
- Bug 58772 - Deprecate MongoDB related elements
- Bug 58782 - ThreadGroup : Improve ergonomy
- Bug 58165 - Show the time elapsed since the start of the load test in GUI mode. Partly based on a contribution from Maxime Chassagneux (maxime.chassagneux at gmail.com)
- Bug 58814 - JVM no longer recognizes option MaxLiveObjectEvacuationRatio; remove from comments
- Bug 58810 - Config Element Counter (and others): Check Boxes Toggle Area Too Big
- Bug 56554 - JSR223 Test Element : Generate compilation cache key automatically. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58911 - Header Manager : it should be possible to copy/paste between Header Managers. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58864 - Arguments Panel : when moving parameter with up / down, ensure that the selection remains visible. Based on a contribution by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58968 - Add a new template to allow to record script with think time included. Contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)
- Bug 58978 - Settings defaults : Switch "jmeter.save.saveservice.assertion_results_failure_message" to true (after 2.13)
- Bug 58991 - Settings defaults : Switch "jmeter.save.saveservice.print_field_names" to true (after 2.13)
- Bug 57182 - Settings defaults : Switch "jmeter.save.saveservice.idle_time" to true (after 2.13)
- Bug 58870 - TableEditor: minimum size is too small. Contributed by Vincent Herilier (vherilier at gmail.com)
- Bug 58933 - JSyntaxTextArea : Ability to set font. Contributed by Denis Kirpichenkov (denis.kirpichenkov at gmail.com)
- Bug 58793 - Create developers page explaining how to build and contribute
- Bug 59046 - JMeter Gui Replace controller should keep the name and the selection. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59038 - Deprecate HTTPClient 3.1 related elements
- Bug 59094 - Drop support of old JMX file format
- Bug 59082 - Remove the "TestCompiler.useStaticSet" parameter. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59093 - Option parsing error message can be ‘lost‘
- Bug 58715 - Feature request: Bundle groovy-all with JMeter
- Bug 58426 - Improve display of JMeter on high resolution devices (HiDPI) (part 1 of enhancement)
- Bug 59105 - TableEditor : Add ability to paste rows from clipboard and delete multiple selection. Contributed by Vincent Herilier (vherilier at gmail.com)
- Bug 59197 - Thread Group : it should be possible to only run a single threadgroup or a selection of threadgroups with a popup menu. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59207 - Change the font color of errorsOrFatalsLabel to red when an error occurs. Contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)
- Bug 58941 - Create a new Starter that runs thread groups in validation mode (1 thread only, 1 iteration, no pause all customizable)
- Bug 59236 - JMeter Properties : Make some cleanup
- Bug 59240 - Introduce a slf4j adapter for Logkit (this allows using slf4j within plugins and core code)
- Bug 59153 - Stop test if CSVDataSet is accessing non-existing file. Contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)
- Bug 59320 - Better tooltip in GUI with GenericTestBeanCustomizer (CSV Data Set Config, JDBC Connection Configuration, Keystore Configuration, …) . Based on a patch by Antonio Gomes Rodrigues (ra0077 at gmail.com)
- Bug 59171 - Sample Result SaveConfig Dialog is generated in random order
- Bug 59425 - Display error about missing help page inside the help pane
Non-functional changes
- Updated to httpclient, httpmime 4.5.2 (from 4.2.6)
- Updated to tika-core and tika-parsers 1.12 (from 1.7)
- Updated to commons-math3 3.6.1 (from 3.4.1)
- Updated to commons-pool2 2.4.2 (from 2.3)
- Updated to commons-lang 3.4 (from 3.3.2)
- Updated to rhino-1.7.7.1 (from 1.7R5)
- Updated to jodd-3.6.7.jar (from 3.6.4)
- Updated to jsoup-1.8.3 (from 1.8.1)
- Updated to rsyntaxtextarea-2.5.8 (from 2.5.6)
- Updated to slf4j-1.7.12 (from 1.7.10)
- Updated to xmlgraphics-commons-2.0.1 (from 1.5)
- Updated to commons-collections-3.2.2 (from 3.2.1)
- Updated to commons-net 3.4 (from 3.3)
- Updated to slf4j 1.7.13 (from 1.7.12)
- Bug 57981 - Require a minimum of Java 7. Partly contributed by Graham Russell (jmeter at ham1.co.uk)
- Bug 58684 - JMeterColor does not need to extend java.awt.Color. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58687 - ButtonPanel should die. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58705 - Make org.apache.jmeter.testelement.property.MultiProperty iterable. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58729 - Cleanup extras folder for maintainability
- Bug 57110 - Fixed spelling+grammar, formatting, removed commented out code etc. Contributed by Graham Russell (jmeter at ham1.co.uk)
- Correct instructions on running JMeter in help.txt. Contributed by Pascal Schumacher (pascalschumacher at gmx.net)
- Bug 58704 - Non regression testing : Ant task batchtest fails if tests and run in a non en_EN locale and use a JMX file that uses a CSV DataSet
- Bug 58897 - Improve JUnit Test code. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58949 - Cleanup of LDAP code. Based on a patch by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58897 - Improve JUnit Test code. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58967 - Use JUnit categories to exclude tests that need a gui. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59003 - ClutilTestCase testSingleArg8 and testSingleArg9 are identical
- Bug 59064 - Remove OldSaveService which supported very old Avalon format JTL (result) files
- Bug 59165 - RSyntaxTextArea not compatible with headless testing
- Bug 59021 - Use Double#compare instead of reimplementing it in NumberProperty#compareTo
- Bug 59037 - Drop HtmlParserHTMLParser and dependencies on htmlparser and htmllexer
- Bug 58465 - JMS Read response field is badly named and documented
- Bug 58601 - Change check for modification of saveservice.properties from SVN Revision ID to sha1 sum of the file itself.
- Bug 58726 - Remove the jmeterthread.startearlier parameter. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58784 - Make JMeterUtils#runSafe sync/async awt invocation configurable and change the visualizers to use the async version.
- Bug 58790 - Issue in CheckDirty and its relation to ActionRouter
- Bug 59095 - Remove UserParameterXMLParser that was deprecated eight years ago. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 59262 - Add list of binary jars to LICENSE; use that for unit tests
- Bug 59353 - Add "Deprecated and removed elements" in "Incompatible changes" part in changes.xml. Contributed by Antonio Gomes Rodrigues (ra0077 at gmail.com)
Bug fixes
HTTP Samplers and Test Script Recorder
- Bug 57806 - "audio/x-mpegurl" mime type is erroneously considered as binary by ViewResultsTree. Contributed by Ubik Load Pack (support at ubikloadpack.com).
- Bug 57858 - Don‘t call sampleEnd twice in HTTPHC4Impl when a RuntimeException or an IOException occurs in the sample method.
- Bug 57921 - HTTP/1.1 without keep-alive "Connection" response header no longer uses infinite keep-alive.
- Bug 57956 - The hc.parameters reference in jmeter.properties doesn‘t work when JMeter is not started in bin.
- Bug 58137 - JMeter fails to download embedded URLs that contain illegal characters in URL (it does not escape them).
- Bug 58201 - Make usage of port in the host header more consistent across the different http samplers.
- Bug 58453 - HTTP Test Script Recorder : NullPointerException when disabling Capture HTTP Headers
- Bug 57804 - HTTP Request doesn‘t reuse cached SSL context when using Client Certificates in HTTPS (only fixed for HttpClient4 implementation)
- Bug 58800 - proxy.pause default value: fix documentation
- Bug 58844 - Buttons enable / disable is broken in the arguments panel. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 58861 - When clicking on up, down or detail while in a cell of the argument panel, newly added content is lost. Contributed by Benoit Wiart (benoit dot wiart at gmail.com)
- Bug 57935 - SSL SNI extension not supported by HttpClient 4.2.6
- B
以上是关于Jmeter3.0新特性的主要内容,如果未能解决你的问题,请参考以下文章