This is a creation in Article, where the information may have evolved or changed.
Apache jmeter application is open source software, 100% pure Java applications, designed to load test function behavior and measurement performance. It was originally designed to test Web applications, but has expanded other testing capabilities.
What can jmeter do?
Apache JMeter can be used to test the performance of static and dynamic resources, web dynamic applications. It can be used to simulate the heavy load of servers, server groups, networks or objects to test their strength or to analyze overall performance under different load types.
Apache JMeter features include:
- Load and performance testing for many different application/server/protocol types:
- web-http, HTTPS (Java, NodeJS, PHP, ASP, ...)
- soap/rest webservices
- FTP
- database connected through JDBC
- LDAP
- Message-oriented middleware (MOM) through JMS
- Mail-SMTP (s), POP3 (s), and IMAP (s)
- Native command or shell script
- TCP
- Java Object
The
- full-featured test IDE allows quick recording of test plans (browser or local app), build and Debug.
- Load Test with command-line mode (non-gui/headless mode) on any Java-compatible operating system (Linux, Windows, Mac OSX, and so on)
- with full and immediate Dynamic HTML reporting
- easily correlate with the ability to extract data from the most popular response format (HTML, Json, XML, or other text format)
- full scalability and Java purity of 100%
The
- full multithreaded framework allows concurrent sampling through many threads, and simultaneously samples different functions through separate thread groups.
- Caching and offline analysis/Replay test results
- High extensible Core:
- pluggable Samplers (sampler) for unlimited testing capabilities;
- programmable Samples (sampler) (JSR22 3 compatible languages, such as groovy and BeanShell);
- can use pluggable timers (timers) to select multiple load statistics;
- data analysis and visualization plug-ins have great scalability and personalization capabilities;
- can use The function provides dynamic input to the test or provides data manipulation;
- enables continuous integration with third-party open source libraries such as Maven, Graddle, and Jenkins.
What can jmeter do?
In terms of the current work on the business, TCP's private protocol is used. Interface testing tools from the beginning to the present, by different people in different languages have written multiple versions (embryonic), the Java version of the three, and the Perl version of the Python version, the current more perfect is the Golang version, it has also been used as a performance testing tool.
Although it is by far the most perfect, but there are still many drawbacks, such as:
The writer cannot take the maintenance of this tool as the first priority, thus delaying the test duration;
The development and maintenance of the tool are affected by factors such as leave and leave of the writer;
The tool itself has some drawbacks in setting up;
The tool itself has the bug, has the performance bottleneck;
......
Based on the above, I often wonder if there are any ready-made test tools to support interface testing and performance testing of private protocols. What issues need to be addressed if not supported directly? Private protocol testing, which is more reliable, which is more valuable, between "using mature tools" and "self-authoring tools"? Wait a minute.
Take JMeter For example, the above mentioned so many, just know jmeter very strong, supported protocol types and test scenarios are many, not only can perform performance testing, but also support functional testing. However, if you are not proficient in using jmeter and are familiar with the protocol, even with a real scene, you do not know how to use JMeter to solve the problem, and how to use the JMeter.
Therefore, whether from the positive or negative, should grasp the jmeter, grasp the various protocols and scenarios supported by the relevant knowledge, Master interface testing and performance testing related concepts and skills .
JMeter is not a browser
JMeter is not a browser because it works on the protocol layer. As far as web-service and remote services are concerned, JMeter looks like a browser (or multiple browsers); However, JMeter does not perform all the operations supported by the browser.
In particular, JMeter does not execute the JS in the HTML page or render the HTML page as a browser (HTML can be viewed as a response, but the time is not included in any samples (sample), and only one sample in one thread at a time) is displayed.
Tutorials and more information
JMeter has a huge and informative official document-- http://jmeter.apache.org/index.html
a source of information that I follow and devote a lot of effort to reading and practicing.
Please look forward to ...