JMeter executes test elements in a specific sequence during runtime. Understanding this flow is critical for building reliable, well-structured test scripts.
| Config Element | Purpose |
|---|---|
| HTTP Request Defaults | Default server / domain / protocol |
| CSV Data Set Config | External test data |
| HTTP Cookie Manager | Session handling |
| HTTP Header Manager | API headers |
| JDBC Connection Config | DB connection |
| User Defined Variables | Global variables |
| Parameter | Meaning |
|---|---|
| Threads | Number of virtual users |
| Ramp-up | Time to start all users |
| Loop Count | Number of iterations |
| Pre-Processor | Purpose |
|---|---|
| User Parameters | Dynamic user data |
| JSR223 PreProcessor | Groovy scripting |
| BeanShell PreProcessor | Custom logic |
| Timer | Purpose |
|---|---|
| Constant Timer | Fixed delay |
| Uniform Random Timer | Random delay |
| Gaussian Random Timer | Realistic delay |
| Constant Throughput Timer | Maintain TPS |
| Sampler | Purpose |
|---|---|
| HTTP Request | Web / API calls |
| JDBC Request | Database queries |
| FTP Request | FTP operations |
| JMS Publisher | Messaging |
| Post-Processor | Purpose |
|---|---|
| Regex Extractor | Extract text patterns |
| JSON Extractor | Extract JSON fields |
| XPath Extractor | Extract XML data |
| JSR223 PostProcessor | Groovy logic |
| Assertion | Purpose |
|---|---|
| Response Assertion | Validate response text |
| Duration Assertion | Validate response time |
| JSON Assertion | Validate JSON content |
| Size Assertion | Validate payload size |
| Listener | Purpose |
|---|---|
| View Results Tree | Debugging |
| Summary Report | Aggregated metrics |
| Aggregate Report | Statistical metrics |
| Backend Listener | Grafana / InfluxDB |
| JMeter Component | Real-Life Analogy | |
|---|---|---|
| Test Plan | 📋 | Entire food order process |
| Config Element | 🏪 | Restaurant settings (menu, address) |
| Thread Group | 👥 | Customers placing orders |
| Pre-Processor | 💳 | Preparing payment details |
| Timer | 💭 | Customer thinking time (what to order) |
| Sampler | 🛒 | Placing the order |
| Post-Processor | 🔖 | Extracting order ID / confirmation |
| Assertion | ✅ | Verify order was successful |
| Listener | 📱 | Order tracking / delivery report |