Migration to Playwright for E2E Testing


Jun 26, 2025

SUPERSEDED

Development Team

#testing #e2e #playwright #migration

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