A Python test framework with an API layer and a browser-UI layer, run by GitHub Actions on pushes and pull requests to main, with a live Allure test dashboard.
To practise QA engineering: schema-checked API tests and Page Object UI tests, with a Dockerfile for local runs and a GitHub Actions workflow that runs the suites on pushes and pull requests to main.
My contribution
I built the framework, its GitHub Actions workflow, the Java suite and the Locust tests, as part of preparing for a test-automation internship.
Key features
REST API tests with requests, including JSON Schema validation of response bodies, plus positive, negative and parametrised cases against JSONPlaceholder.
Playwright browser tests of the Sauce Demo login flow using the Page Object Model: successful login, locked-out user and wrong password.
A Restful Booker layer with token authentication and full CRUD, adding 14 tests across happy-path, negative and persistence flows.
A smaller Java suite with RestAssured and JUnit 5 that repeats checks from the Python JSONPlaceholder tests.
Locust performance tests with a weighted read/write mix; CI runs a 5-user, 20-second headless smoke run.
Pytest markers for selective runs, response-time assertions on the API tests, and a Docker image based on the official Playwright Python image.
GitHub Actions CI that runs the Python, Java and performance jobs and publishes an Allure report to GitHub Pages.
Documented results
From the published Allure dashboard.
27 tests
All passing in the Allure report from the CI run on 30 April 2026
Two suites: tests (23) and tests_ui (4). Taken from the dashboard screenshot below; the live dashboard may have changed since.