Migration to Playwright for E2E Testing
- Supersedes: E2E Testing Framework (20250530)## Context and Problem Statement
Our project previously used Cypress for end-to-end testing as decided in our previous ADR. However, we have migrated to align with organizational standards and leverage cloud-based testing infrastructure that better supports our CI/CD pipelines.
Decision Drivers¶
- Cloud Agent Support: Need for Azure cloud testing service integration for scalable cloud-based browser testing
- Team Expertise: Automation testers on the team have existing experience with the new framework
- Organizational Alignment: Other repositories in the organization have already adopted this approach
- CI/CD Integration: Better integration with Azure DevOps pipelines and cloud infrastructure
- Maintenance Overhead: Reduce the cognitive load of maintaining multiple testing frameworks across projects
Considered Options¶
- Continue with Cypress (current state)
- Migrate to organizational standard
Decision Outcome¶
Chosen option: "Migrate to organizational standard", because it addresses our primary needs for cloud agent support, aligns with team expertise, and follows organizational standards already established in other repositories.
Positive Consequences¶
- Unified testing approach across all organizational repositories
- Access to Azure cloud testing service for cloud-based browser testing
- Leverages existing team knowledge and reduces onboarding time
- Better integration with Azure DevOps CI/CD pipelines
- Reduced maintenance overhead by standardizing on a single framework
Negative Consequences¶
- Migration effort required to convert existing Cypress tests
- Temporary disruption during the transition period
- Need to update documentation and training materials
Migration Approach¶
Technical Changes¶
- Replace Cypress test files with equivalent tests in the new framework
- Update CI/CD pipeline configurations
- Configure Azure cloud testing service for cloud-based testing
- Update project documentation and setup instructions
Retained Functionality¶
- All existing test scenarios maintained
- Local and cloud testing capabilities preserved
- Multiple browser testing (Chromium, Firefox, WebKit)
- Screenshot and video capture on test failures
Links ¶
- [Link type](link to adr)
- Supersedes E2E Testing Framework
- …
