This repository contains a JMeter project for performance testing the public JSONPlaceholder API.
The test plan simulates a realistic user workflow:
- Fetches all posts.
- Selects a random post from the response (using correlation).
- Fetches the comments for the selected post.
- Java (version 8 or higher) installed.
- Apache JMeter installed.
- (Recommended) JMeter's
bindirectory added to the system'sPATHvariable for easier execution.
The test is intended to be run from the command-line interface (CLI), not from the JMeter GUI.
-
Clone the repository:
git clone [https://github.com/Nikolay-Chillev/jmeter-performance-project.git](https://github.com/Nikolay-Chillev/jmeter-performance-project.git) cd jmeter-performance-project -
Run the test: Open a command-line terminal (CMD, PowerShell, bash) in the project's root directory and execute the following command:
jmeter -n -t jsonplaceholder_load_workflow.jmx -l results/results.jtl -e -o reports/html_report
-
Customize the Load (Optional): You can override the default number of users (threads) and the ramp-up time by passing properties with the
-Jflag:# Example with 50 users ramping up over 10 seconds jmeter -n -t jsonplaceholder_load_workflow.jmx -Jthreads=50 -Jrampup=10 -l results/results.jtl -e -o reports/html_report -
View the Report: Once the test is complete, open the
reports/html_report/index.htmlfile in a web browser to view the full HTML dashboard report with detailed graphs and statistics.
jsonplaceholder_load_workflow.jmx: The main JMeter test plan file./reports/: The directory where the HTML dashboard reports are generated (ignored by Git)..gitignore: A configuration file that tells Git which files and folders to ignore.README.md: This documentation file.