This project demonstrates end-to-end API Performance Testing using Apache JMeter on the Simple Grocery Store REST API.
The objective was to evaluate the application's performance under different user loads while comparing the effect of request pacing using Constant Timer.
The project follows an end-to-end API workflow including authentication, cart creation, item management, and order creation.
- Perform API Performance Testing using Apache JMeter
- Simulate concurrent users
- Compare performance with and without request pacing
- Execute tests in Non-GUI mode
- Generate professional HTML Dashboard Reports
- Analyze response times, throughput, and error rates
- Document findings and recommendations
- Apache JMeter 5.6.3
- REST API
- JSON
- HTTP Header Manager
- JSON Extractor
- Constant Timer
- HTML Dashboard Report
- Git
- GitHub
Application
Simple Grocery Store REST API
API Documentation
https://github.com/vdespa/Postman-Complete-Guide-API-Testing/blob/main/simple-grocery-store-api.md
The following APIs were executed sequentially.
GET API Status
│
▼
GET All Products
│
▼
GET Single Product
│
▼
POST Create Cart
│
▼
POST Add Item To Cart
│
▼
GET Get Cart
│
▼
POST Register API Client
│
▼
POST Create Order
Dynamic values were captured using JSON Extractor.
Values extracted:
- cartId
- accessToken
These values were reused in subsequent API requests using JMeter Variables.
HTTP Header Manager was used for
- Content-Type : application/json
- Authorization : Bearer Token
Constant Timer was used to introduce request pacing.
Purpose:
- Simulate realistic user behavior
- Avoid unrealistic request bursts
- Compare server performance with and without delays
| Scenario | Users | Constant Timer |
|---|---|---|
| Scenario 1 | 1000 | ✅ |
| Scenario 2 | 1000 | ❌ |
| Scenario 3 | 2000 | ✅ |
| Scenario 4 | 2000 | ❌ |
| Scenario 5 | 3000 | ✅ |
| Scenario 6 | 3000 | ❌ |
Each scenario includes
- HTML Dashboard
- Aggregate Report
- Summary Report
- JTL Result File
Reports are available inside
HTML Reports/
A detailed company-style performance testing report is included.
Performance Report/
The report contains
- Executive Summary
- Test Strategy
- Test Environment
- API Workflow
- JMeter Design
- Scenario Analysis
- Response Time Analysis
- Throughput Analysis
- Error Analysis
- Recommendations
- Final Conclusion
Sample screenshots are available inside
Screenshots/
JMeter-Grocery-Store-API-Performance-Testing
│
├── HTML Reports
│
├── JMeter Test Plan
│
├── Performance Report
│
├── Results
│
├── Screenshots
│
└── README.md
During this project I learned
- API Performance Testing
- Correlation using JSON Extractor
- Authorization using Bearer Token
- Header Management
- Request Pacing
- HTML Dashboard Analysis
- Aggregate Report Interpretation
- Throughput Analysis
- Non-GUI Test Execution
- Performance Report Preparation
Abhidept Singh
QA Engineer | Manual Testing | API Testing | Performance Testing | Selenium Automation
LinkedIn: (Add your LinkedIn URL)
GitHub: https://github.com/abhideptsingh