Comprehensive UI and API automation testing framework built with Playwright + TypeScript.
This project combines:
- 🧭 UI testing for SauceDemo using the Page Object Model (POM) pattern
- 🧭 UI testing for OrangeHRM using a modular and maintainable Page Object Model architecture
- 🔗 API testing for Reqres — a fake REST API for practicing and demonstrating CRUD operations
- 🔗 API testing for JSONPlaceholder — extended API tests for posts, comments, users, etc
- Playwright (TypeScript)
- Page Object Model (POM)
- Testomat.io — test management & living documentation
- GitHub Actions — CI/CD pipeline
- ESLint + Husky — code quality & pre-commit checks
- Allure Report
API tests are based on the Reqres API — a fake REST API for testing and prototyping.
It’s used to demonstrate CRUD operations (GET, POST, PUT, DELETE) in the tests/api/reqres/ folder.
tests/ # Test cases
pages/ # Page Object Model classes
utils/ # Helpers and test data
fixtures/ # Custom Playwright fixtures
reports/ # Reports (Allure)
# Install dependencies
npm install
# Run all tests
npx playwright test
# Run with UI browser
npx playwright test --headed
# Run a specific test file
npx playwright test tests/login.spec.ts