Appearance
Migration to Playwright for E2E Testing
- Status: superseded by 20251119-remove-e2e-tests
- Deciders: Development Team
- Date: 2025-06-25
- Supersedes: E2E Testing Framework (20250530)
- Tags: testing, e2e, playwright, migration
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 20250530-e2e-testing-framework
- …