Apache JMeter
2 minutes read

The execution order of the elements in an Apache JMeter performance test plan is very important, it helps understand the timeline of events and how your test will behave.

Make sure that you understand every JMeter element before adding it to your test plan, this will help create faster performance tests and not jump into various errors. Creating tests with JMeter can be tedious at the beginning, but as you start learning more and more about each of the elements and which are the required one, the time invested in creating test scripts will decrease. More details on how Apache JMeter works.

You can also use a Chrome Extension to click and record all your domains and API requests automatically, no coding skills needed with Record and Run Chrome Extension from LoadFocus.

This will automatically save your JMeter test in the cloud from where you can run JMeter tests in the cloud with more than 10k concurrent users per test from multiple world locations.

Below is the ordered list, have in mind that some of the elements are optional.

EXECUTION ORDER

  1. Configuration elements
  2. Pre-Processors
  3. Timers
  4. Sampler
  5. Post-Processors
  6. Assertions
  7. Listeners

Here is a list of potential elements in each category:

Configuration Elements

  • CSV Data Set Config
  • FTP Request Defaults
  • DNS Cache Manager
  • HTTP Authorization Manager
  • HTTP Cache Manager
  • HTTP Cookie Manager
  • HTTP Request Defaults
  • HTTP Header Manager
  • Java Request Defaults
  • JDBC Connection Configuration
  • Keystore Configuration
  • Login Config Element
  • LDAP Request Defaults
  • LDAP Extended Request Defaults
  • TCP Sampler Config
  • User Defined Variables
  • Random Variable
  • Counter
  • Simple Config Element
  • MongoDB Source Config (DEPRECATED)
  • Bolt Connection Configuration

Pre Processors

  • HTML Link Parser
  • HTTP URL Re-writing Modifier
  • User Parameters
  • BeanShell PreProcessor
  • JSR223 PreProcessor
  • JDBC PreProcessor
  • RegEx User Parameters
  • Sample Timeout

JMeter Timers:

  • Timers
  • Constant Timer
  • Gaussian Random Timer
  • Uniform Random Timer
  • Constant Throughput Timer
  • Precise Throughput Timer
  • Synchronizing Timer
  • BeanShell Timer
  • JSR223 Timer
  • Poisson Random Timer

JMeter samplers include:

  • FTP Request
  • HTTP Request (can be used for SOAP or REST Webservice also)
  • JDBC Request
  • Java object request
  • JMS request
  • JUnit Test request
  • LDAP Request
  • Mail request
  • OS Process request
  • TCP request

Post-Processors

  • Regular Expression Extractor
  • CSS Selector Extractor (was: CSS/JQuery Extractor )
  • XPath2 Extractor
  • XPath Extractor
  • JSON JMESPath Extractor
  • Result Status Action Handler
  • BeanShell PostProcessor
  • JSR223 PostProcessor
  • JDBC PostProcessor
  • JSON Extractor
  • Boundary Extractor

Assertions

  • Response Assertion
  • Duration Assertion
  • Size Assertion
  • XML Assertion
  • BeanShell Assertion
  • MD5Hex Assertion
  • HTML Assertion
  • XPath Assertion
  • XPath2 Assertion
  • XML Schema Assertion
  • JSR223 Assertion
  • Compare Assertion
  • SMIME Assertion
  • JSON Assertion
  • JSON JMESPath Assertion

Listeners include:

  • Simple Data Writer
  • BeanShell/JSR223 Listener
  • Mailer Visualizer
  • Summary Report
  • Aggregate Report
  • Aggregate Graph
  • and others

Hope this is helpful and reduces time when debugging JMeter tests.

Written by Bogdan Vazzolla.

LoadFocus is a cloud performance, load and stress testing tool which provides the infrastructure and the ability to run all these tests with thousands of concurrent users, from multiple cloud locations, in less than a few minutes, keep history of the results, compare different runs to inspect performance improvements or performance degradation.

How Much Traffic Can Your Website Handle?