A scalable UI and API automation framework built with Playwright and TypeScript, following industry-standard design patterns for maintainability, reusability, and ease of execution.
- Playwright
- TypeScript
- Node.js
- ExcelJS
- CSV Parse
- Winston Logger
- Allure Reporting
- Page Object Model (POM)
- Shared
BasePagefor common UI actions - API layer with reusable
ApiClient - Page Object Manager & API Manager
- Custom Fixtures using Playwright
base.extend() - Multi-environment support (
qa,dev,uat) - External test data support (CSV & Excel)
- Utility classes for random data, dates, logging, and API assertions
- UI and API automation within the same framework
- Parallel execution support
- Allure and HTML reporting
- API mocking using
page.route()
api/
artifacts/
config/
fixtures/
pages/
test-data/
tests/
utils/
Install dependencies:
npm installExecute by environment:
npm run test:qa
npm run test:dev
npm run test:uatCreate an environment file from .env.example.
Example:
BASE_URL=
API_URL=
USERNAME=
PASSWORD=Playwright HTML Report:
npx playwright show-reportAllure Report:
allure serve allure-results- Separation of UI and API layers
- Reusable page objects and API modules
- Centralized configuration
- Minimal code duplication
- Maintainable and scalable project structure
- Framework-level abstraction while leveraging native Playwright capabilities
- CI/CD integration with Jenkins
- Authentication token management
- Docker execution
- Cross-browser pipeline execution
- Cloud execution support