Skip to main content

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

CapabilityDescription
Multi-Browser TestingChromium, Firefox, WebKit (Safari) support
Mobile & Tablet TestingPixel 5, Galaxy Tab S4 emulation, responsive viewports
Visual RegressionScreenshot comparison with configurable thresholds
Accessibility (a11y)WCAG 2.1 AA compliance via axe-core
Performance MonitoringCore Web Vitals (FCP, LCP, CLS, TTI) measurement
API TestingBackend endpoint validation and response time checks
Flaky Test HandlingRetry with exponential backoff, network resilience patterns
Azure DevOps CI/CDTwo-pipeline system — automatic CI/CD + on-demand
Allure ReportingRich, interactive test reports with history tracking
Page Object ModelScalable, maintainable test architecture

Technology Stack

TechnologyVersionPurpose
Playwright^1.41.2Browser automation & test runner
TypeScript^5.3.3Type-safe test authoring
Allure^3.4.5Test reporting
axe-core^4.8.3Accessibility auditing
ESLint^9.31.0Code linting
Prettier^3.8.1Code formatting
Husky^9.1.7Git hooks
DockerContainerized test execution
Node.js>=18.0.0Runtime

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