This project demonstrates API testing using Python (Pytest), Postman, and Jira for bug tracking.
The goal is to validate JSONPlaceholder API endpoints and log any issues in Jira.
- Python 3.12.5
- Pytest — automation framework for testing APIs
- Requests — Python library to send HTTP requests
- Postman — manual API testing and collection
- Jira — bug tracking and workflow management
api-testing-project/
├── tests/
│ └── test_posts_api.py # Pytest automation scripts
├── postman/
│ └── jsonplaceholder.postman_collection.json # Manual API collection
├── docs/
│ └── jira-bug-example.png # Screenshot of a Jira bug
├── requirements.txt # Python dependencies
└── README.md
- GET /posts/1 — Positive test (status 200)
- GET /posts/999 — Negative test (status 404)
- POST /posts — Create a post (status 201)
- PUT /posts/1 — Update a post (status 200)
- PATCH /posts/1 — Partial update (status 200)
- DELETE /posts/1 — Delete post (status 200/404)
- Base URL is defined as a variable:
{{baseURL}} - Each request has a simple status code test in Postman’s Tests tab
- Collection exported as:
postman/jsonplaceholder.postman_collection.json
- All tests are in
tests/test_posts_api.py - Positive and negative test scenarios are included
- Run tests locally using:
bash pip install -r requirements.txt pytest
- Sample output:
tests/test_posts_api.py::test_get_post PASSED
tests/test_posts_api.py::test_get_nonexistent_post PASSED
tests/test_posts_api.py::test_create_post PASSED
tests/test_posts_api.py::test_update_post PASSED
tests/test_posts_api.py::test_patch_post PASSED
tests/test_posts_api.py::test_delete_post PASSED
- Bugs are logged in Jira for each failing scenario;
- Screenshot attached in docs/jira-bug-example.png
- Summary: GET /posts/999 API response validation issue
- Steps: Call GET /posts/999
- Expected: Status 404
- Actual: Response returned empty object
- Clone or download the repository
- Install dependencies: pip install -r requirements.txt
- Run Pytest tests: pytest
- Import Postman collection if you want manual testing
- Check docs/ for Jira bug screenshot
-
This project demonstrates API testing skills for QA / SDET roles
-
Base URL variable ensures requests are reusable
-
Positive and negative tests included
-
Postman and Pytest provide manual + automated coverage
