Introduction
Welcome to the Alert.CA E2E Testing Suite documentation. This is a production-grade, comprehensive End-to-End testing framework for the Alert.CA.Frontend application, built with Playwright.
What Is This Project?
The Alert.CA.E2E repository is a standalone test automation project that validates the Alert.CA.Frontend web application across multiple browsers, devices, and environments. It covers everything from smoke tests and visual regression to accessibility compliance and performance monitoring.
Key Capabilities
| Capability | Description |
|---|---|
| Multi-Browser Testing | Chromium, Firefox, WebKit (Safari) support |
| Mobile & Tablet Testing | Pixel 5, Galaxy Tab S4 emulation, responsive viewports |
| Visual Regression | Screenshot comparison with configurable thresholds |
| Accessibility (a11y) | WCAG 2.1 AA compliance via axe-core |
| Performance Monitoring | Core Web Vitals (FCP, LCP, CLS, TTI) measurement |
| API Testing | Backend endpoint validation and response time checks |
| Flaky Test Handling | Retry with exponential backoff, network resilience patterns |
| Azure DevOps CI/CD | Two-pipeline system — automatic CI/CD + on-demand |
| Allure Reporting | Rich, interactive test reports with history tracking |
| Page Object Model | Scalable, maintainable test architecture |
Quick Links
- Getting Started — Install, configure, and run your first test
- Project Architecture — Understand how everything fits together
- Writing Tests — Learn the patterns and conventions
- Page Objects — How to work with and extend Page Objects
- Configuration — Environments, feature flags, and settings
- CI/CD Pipelines — Azure DevOps pipeline setup
- Reporting — Playwright HTML and Allure reports
- Troubleshooting — Common issues and solutions
Technology Stack
| Technology | Version | Purpose |
|---|---|---|
| Playwright | ^1.41.2 | Browser automation & test runner |
| TypeScript | ^5.3.3 | Type-safe test authoring |
| Allure | ^3.4.5 | Test reporting |
| axe-core | ^4.8.3 | Accessibility auditing |
| ESLint | ^9.31.0 | Code linting |
| Prettier | ^3.8.1 | Code formatting |
| Husky | ^9.1.7 | Git hooks |
| Docker | — | Containerized test execution |
| Node.js | >=18.0.0 | Runtime |
Repository Structure (At a Glance)
Alert.CA.E2E/
├── config/ # Environment configs (.env files)
├── devops/ # Azure DevOps pipeline YAML
├── docs/ # This documentation
├── fixtures/ # Playwright test fixtures (POM wiring)
├── pages/ # Page Object Models
├── scripts/ # Shell scripts (setup, run, reports)
├── tests/ # Test specifications
│ └── happy-paths/ # Critical user journey tests
├── utils/ # Helpers (a11y, API, visual, perf, Allure)
├── playwright.config.ts # Playwright configuration
├── global-setup.ts # Pre-test global setup
├── global-teardown.ts # Post-test global teardown
└── package.json # Dependencies & npm scripts