Apache JMeter Tutorial

This tutorial provides basic and in-depth knowledge of the Apache JMeter Performance Testing tool. It describes the core concept of JMeter in layman’s terms to clear your basics and make a strong platform of performance testing skills using the JMeter tool.

Also, you will get some simple and ultimate tips and tricks related to Apache JMeter. These tips and tricks will help you to get the easiest solutions to complex scripting scenarios, test execution and test results. Please note that some tips could be related to a specific Apache JMeter version, so check the version’s compatibility before applying.

Apache JMeter Tutorial

  1. Introduction
  2. JDK Installation on Windows
  3. JDK Installation on Mac
  4. Installation
  5. Folder Structure
  6. Launching Modes
  7. Secured Site (https) Certificate for recording
  8. Test Script Recording
  9. Correlation (Handling of Dynamic Values)
    1. Dynamic Value present in Request Body
    2. Dynamic Value present in Request URL
    3. Dynamic Value present in Redirected Request
  10. Goal-Oriented Scenario Creation
  11. Network Speed Simulation
  12. Distributed Testing (Remote Testing)
  13. Test Scheduler
  14. Test Execution (Non-GUI mode)
  15. HTML Report
  16. Elements
  17. Test Plan Element
  18. Thread Group Element
    1. setUp Thread Group
    2. tearDown Thread Group
    3. Ultimate Thread Group
    4. Concurrency Thread Group 
    5. Arrivals Thread Group
    6. Free-form Arrival Thread Group
  19. Test Fragment Element (How to manage large JMeter scripts?)
  20. Config Element
    1. Counter
    2. CSV Data Set Config (Parametrization using External File)
    3. DNS Cache Manager
    4. FTP Request Default
    5. HTTP Authorization Manager
    6. HTTP Cache Manager (Browser Emulation Element)
    7. HTTP Cookie Manager (Browser Emulation Element)
    8. HTTP Header Manager (Browser Emulation Element)
    9. HTTP Request Defaults
    10. Java Request Defaults
    11. Keystore Configuration
    12. LDAP Extended Request Defaults
    13. LDAP Request Defaults
    14. Login Config Element
    15. Random Variable
    16. Simple Config Element
    17. User Defined Variable (Parametrization)
  21. Timer
    1. BeanShell Timer
    2. Constant Throughput Timer
    3. Constant Timer
    4. Gaussian Random Timer
    5. Poisson Random Timer
    6. JSR223 Timer
    7. Synchronizing Timer
    8. Uniform Random Timer
  22. Sampler
    1. FTP Request
  23. Pre Processors
    1. BeanShell PreProcessor
    2. HTML Link Parser
    3. HTTP URL Re-writing Modifier
    4. JDBC PreProcessor
    5. JSR223 PreProcessor
    6. Sample Timeout
    7. User Parameters
    8. RegEx User Parameters
  24. Post Processors
    1. BeanShell PostProcessor
    2. JSR223 PostProcessor
    3. Result Status Action Handler
    4. Debug PostProcessor
    5. Regular Expression Extractor (Handling Dynamic Value via regular expression)
    6. Boundary Extractor (Handling Dynamic Value via LB and RB)
    7. JSON Extractor
  25. Assertions
    1. Response Assertion
    2. Duration Assertion
    3. Size Assertion
    4. XML Assertion
    5. BeanShell Assertion
    6. JSR223 Assertion
    7. MD5Hex Assertion
    8. XML Schema Assertion
    9. HTML Assertion
    10. Compare Assertion
  26. Listeners
    1. Assertion Results
    2. Graph Results
    3. BeanShell Listener
    4. JSR223 Listener
  27. In-built Functions
    1. threadNum
    2. threadGroupName
    3. samplerName
    4. machineName
    5. machineIP
    6. time
    7. timeShift
    8. log
    9. long
    10. dateTimeConvert
    11. digest
  28. Short-cuts
  29. Certification

JMeter Scripting Tips:

  1. How to enable Undo and Redo options?
  2. How to automate JMeter Script Backup?
  3. Edit CSV File Test Data without BeanShell
  4. Render random links on a web page?
  5. Methods to pick Random Dynamic Value using Regular Expression Extractor
  6. How to extract multiple dynamic values using one Regular Expression?
  7. How to capture last dynamic value using Regular Expression Extractor?
  8. Understand the sharing mode of the CSV Data Set Config
  9. How to update the parameter value at Each Occurrence within the same iteration
  10. Parameter Setting: Unique Each Occurrence
  11. Parameter Setting: Sequential Each Occurrence
  12. Parameter Setting: Random Each Occurrence
  13. Access Token Issue
  14. Pass same Parameter value in each Iteration from CSV file
  15. Pass one variable into another (Nested Variable Function)
  16. Pass variable value to another thread group
  17. Capture and pass the last value from multiple dynamic values
  18. How to exclude the response time of a sampler?
  19. Timestamp Format & Time Shifting
  20. How to generate epoch timestamp in second without using BeanShell?
  21. Regular Expression Extractor vs Boundary Extractor
  22. How to exclude the Processor’s execution time?
  23. How to exclude Think Time?
  24. FTP (File Transfer Protocol) Test Script
  25. How to get help from JMeter Official Support Forum?
  26. URL Patterns to Exclude / Why sometimes it does not work? 
  27. How to capture Captcha or OTP?
  28. Real Browser Simulation
  29. Save response to a file
  30. Real-time Debugging
  31. Important External Plug-ins
  32. Dynamic Pacing using BeanShell
  33. Dynamic Pacing using JSR223

JMeter Test Execution and Reporting Tips:

  1. Maintain Dynamic No. of Threads
  2. How to execute the JMeter test in Non-GUI mode?
  3. Out of Memory Issue – How to increase Heap Size?
  4. Distributed Mode
    1. Server Failed to Start: java.rmi.server.ExportException
    2. Connection refused to host
    3. Unsupported major.minor version
  5. Distributed Testing Alternative
  6. JMeter Grafana Dashboard using InfluxDB
  7. Test Execution Through Docker
  8. Test Result Log File
  9. HTML Dashboard Report
    1. Simple – How to generate a Dashboard Report (HTML Report)?
    2. Advanced – How to generate proper Dashboard Report?
    3. Advanced – How to make a common setting to generate Dashboard Report?
    4. How to generate HTML report in GUI mode?
    5. Customise Request Summary on Dashboard (Change OK/KO to Pass/Fail)
    6. How to change response time value in seconds in HTML report?
  10. Blank HTML Report Generation Issue
  11. How to simulate Network Bandwidth?

You may be interested:


Leave a Comment