This repository contains end-to-end tests built with Playwright
and TypeScript
.
The tests are executed via both Jenkins
pipeline and GitHub Actions
A comprehensive testing framework that
- Combines API, E2E, Visual testing in one solution
- Integrated with CI/CD pipelines and automated reporting systems.
The following sensitive variables should be stored as secrets in your CI/CD environments (GitHub Actions/Jenkins) and NOT committed to version control:
CUSTOMER_01_EMAIL
- First customer account emailCUSTOMER_01_PASSWORD
- First customer account passwordCUSTOMER_02_EMAIL
- Second customer account emailCUSTOMER_02_PASSWORD
- Second customer account passwordADMIN_EMAIL
- Admin account emailADMIN_PASSWORD
- Admin account password
Note: These are default test credentials provided by the website (practicesoftwaretesting.com) for automated testing purposes. They are not real user accounts and are publicly available, which is why they are stored in .env files for development convenience.






- All-in-one Testing Solution:
- π UI Testing: End-to-end user interface tests
- π API Testing: Backend API validation
- ποΈ Visual Testing: Screenshot comparison and visual regression
- Robust CI/CD Integration
- π Jenkins Pipeline using reusable pipeline code from Jenkins shared library
- π GitHub Actions
- Advanced Testing Capabilities:
- βοΈ Dynamic test parameterization (environments, test types, workers...)
- π Scheduled test runs (daily regression tests)
- π Automated PR validation jobs, eg:
Eslint
,Synk
- π Slack notifications for trigger test / test results
- π Run smoke test whenever a PR is merged to web-app
- π Integrate between Github & Slack
- Notify channel when a PR is created / merged / closed
- π Test reports
- Test reports are automatically generated
- Download generated test reports
- View summary test reports (passed, failed, flaky tests)
- View test report details via
Jenkins
,Github Actions
- Playwright - Modern web testing framework
- TypeScript - Typed JavaScript programming language
- GitHub Actions - Cloud-based CI/CD platform
- Jenkins - Self-hosted automation server
- Ngrok - Secure tunneling for local Jenkins exposure
- ESLint - JavaScript linting utility
- Prettier - Code formatting tool
- Makefile - Task automation and build configuration
- Node.js (version 20 or higher)
- Clone the repository:
git clone https://github.com/longautoqa/e2e-automation-playwright.git
- Navigate to project directory:
cd e2e-automation-playwright
- Install dependencies:
npm ci
Maintain code quality with pre-commit checks
npm run format
By default, tests will run in staging (QA) environment
- Development
- Staging (QA)
- Production (Release)
TEST_ENV={env} TEST_TYPE=${project_type} WORKERS={number} make test
TEST_ENV=${env} WORKERS=4 make api-test
TEST_ENV=${env} WORKERS=4 make e2e-test
TEST_ENV=${env} WORKERS=4 make visual-test
TEST_ENV=${env} WORKERS=10 make regression-test
To count how many test specs
& tests
in your project
make count-tests
Contributions are welcome! Please feel free to submit a Pull Request.
If you find this project useful, please consider giving it a star on GitHub!