INFO Technology RadarINFO Technology Radar

Cypress

Hold

Cypress has been a valuable tool for functional testing at INFO, known for its robustness and developer-friendly environment. However, as we prioritize advanced testing capabilities and cross-browser support, Cypress is now on hold while we focus on Playwright as our preferred solution.

Previous Benefits of Cypress

  • Developer Experience: Provided a smooth setup process, real-time reloading, and direct debugging in the browser, enhancing productivity.

  • End-to-end Testing: Offered support for end-to-end, integration, and unit testing within a single framework.

  • Automatic Waiting: Automatically waited for elements to be ready, reducing the need for manual wait commands.

  • Robust Ecosystem: Had a rich plugin ecosystem for easy integration with CI/CD pipelines and reporting tools.

Reasons for Holding

  • Limited Cross-Browser Support: Cypress has limitations in supporting multiple browsers compared to Playwright's comprehensive coverage.

  • Scaling Challenges: As testing needs grow, Playwright offers better scalability and performance for large test suites.

  • Advanced Features: Playwright's advanced capabilities in network interception and browser context isolation provide more robust testing options.

Considerations at INFO

  • Transition to Playwright: Teams are transitioning to Playwright to take advantage of its enhanced features and flexibility.

  • Support and Maintenance: While on hold, existing Cypress tests will be maintained, but no new tests will be developed using Cypress.

  • Training and Resources: Resources are being allocated to train teams on Playwright to ensure a smooth transition.

Cypress played a significant role in our testing strategy, but with Playwright's adoption, we are focusing on tools that better meet our evolving testing requirements.

Adopt

At INFO, we prioritize continuous automated testing to ensure high-quality software delivery. Cypress remains our tool of choice for functional testing due to its robustness, developer-friendly environment, and extensive feature set.

Why Cypress?

  • Developer Experience: Cypress provides a smooth setup process, real-time reloading, and direct debugging in the browser, enhancing productivity and reducing time to identify issues.

  • End-to-end Testing: It offers comprehensive support for end-to-end, integration, and unit testing within a single framework, promoting test consistency and reliability.

  • Automatic Waiting: Cypress automatically waits for elements to be ready, reducing the need for manual wait commands and making tests more stable.

  • Robust Ecosystem:** With a rich plugin ecosystem, Cypress allows easy integration with CI/CD pipelines, reporting tools, and more.

Use Cases

  • Web Application Testing: Perfect for complex UIs and single-page applications (SPAs).

  • API Testing: This can validate APIs alongside UI tests, providing a holistic testing approach.

  • Cross-Browser Testing: Support multiple browsers, including Chrome, Firefox, and Edge.

Best Practices at INFO

  • Test Early and Often: Integrate Cypress tests in your development workflow to catch bugs early.

  • Use Data-Driven Testing: Leverage fixtures and custom commands for reusable and maintainable tests.

  • Continuous Integration: Run tests in CI pipelines to ensure code quality before production deployment.

Cypress helps us maintain high standards in software quality, and its adoption continues to grow across our teams.

Adopt

At INFO we strive for continuous automated functional testing and we prefer to use Cypress as functional test tool.