My personal experience with Jmeter has been great. Many performance test engineers face difficulty during their first attempts with the tool because of the terminology.Listeners, pre-processor elements, post processor elements can appear overly complicated. A list of such terms can be formed and many testers loose their enthusiasm and move to other tool before completing a POC on Jmeter.
Test Plan – A test plan provides a framework on which different web requests and operations pertaining to a test can be added. The tool will execute these operations during run-time with multiple users (threads) as planned. Some of the important elements of a test plan are – Thread Group, Listeners, Logic controllers, assertions, etc.
Samplers – Samplers are the components that are used to send requests to the server. The requests can be HTTP, FTP, SOAP, XML, JDBC and LDAP requests. For ‘Post requests’, post data can be found added in the parameter section of the samplers.
Controllers - You can group your Samplers (Requests) in controller. Controller thus helps to set order in which you wish the samplers to be processed. You can add a controller in another. Different controllers are – Simple controllers, Interleave controllers, While controller, If controller, Runtime controller, etc.
Assertions – Assertions are added to the samplers as child elements and they perform the task of checkpoints. There are different types of assertions. Some of them are – compare assertion, duration assertion, html assertion, etc.
Timers – Timers are added to samplers to make a vuser wait at an after / before a sampler . We can add think times at a step using timers. Some types of timers that are most commonly used are – Constant timers, uniform random timer, etc.
Pre-processor elements – Preprocessors are added to modify samplers. They are usually used to update variables not extracted from response text or to modify settings of sample request just before it runs.
Some preprocessor elements are -
- HTML Link Parser
- HTTP URL Re writing modifier
- HTML Parameter Mask
- User parameters
Postprocessor elements – Postprocessors execute once the request is made from the samplers. They are added as child to the samplers and this ensures that a particular postprocessor executes after a specific sampler. These elements are usually used to process response data and to extract a particular value from a response.
Some widely used postprocessor elements are -
- Regular Expression Extractor
- XPath Extractor
- Save Responses to a file
- Result Status Action Handler
HTTP Proxy Server – The Proxy Server keeps a watch and record your actions while you browse your web application with normal browser. As one moves performing steps in the browser, corresponding web requests get recorded as samplers in the test plan and those can directly be added to the test plan when one plans to execute a test.
HTTP Cookie Manager – This is another very important element of Jmeter. While replaying, Cookie manager stores cookies in the initial requests and sends them to the web server whenever required. It helps Jmeter function like a normal web browser.
Listeners - During replay or test run, results of a sampler get saved in listeners in the form of tables, graphs, trees or simple text. Each listeners display response information in specific way. Eg – ‘View Resupts in table’ enables one to view results in Table manner, with sample number, response time, response status, bytes, etc all in tabular format.
Some widely used Listeners are -
- Aggregate Graph
- Aggregate Report
- Assertion Report
- Graph Results
- Monitor Results
- Summary report
- View Results in Tree
- View Results in Table