This project demonstrates end-to-end REST API testing of an e-commerce backend using Postman.
The goal of the project is to simulate the real responsibilities of a QA / Backend Tester including authentication handling, request chaining, CRUD validation, automated assertions, and execution of a full API test suite.
The APIs are tested against the public DummyJSON REST service.
- Postman
- REST API
- JavaScript (Postman Test Scripts)
- JSON
- GitHub
- Environment variables & parameterization
- Authentication (JWT token handling)
- Authorization testing (protected endpoints)
- CRUD Operations (Create, Read, Update, Delete)
- Automated response validation
- Status code verification
- Negative testing
- Edge case testing
- Security testing
- JSON Schema validation
- Request chaining (dynamic data passing)
- Collection Runner execution (automation)
Login using valid credentials and capture access token.
Token dynamically saved into environment and used to access protected endpoint /auth/me.
Base URL and token handled using Postman environment variables.
Fetching records from the backend server.
Automated test scripts verifying response status and data.
Creating a new resource via API.
Updating server data.
Deleting a record from backend.
Login with invalid credentials and validation of error response.
Verification of response JSON structure.
Unauthorized access blocked (401 response).
Testing non-existing resources (404 response).
Execution of complete API suite using Postman Runner.
- Clone or download this repository
- Import
collection.jsoninto Postman - Import
environment.json - Select the environment in Postman
- Run the Login request first
- Run the complete collection using Collection Runner
Through this project I learned:
- Real-world API testing workflow
- Handling authorization tokens
- Writing automated API test scripts
- Using environment variables and dynamic data
- Backend validation and error handling
- Running automated API test suites
Swayam Uniyal
Aspiring QA Engineer | API Testing | Manual Testing | Automation (Learning)