Cypress

New
hold
First Added:May 28, 2026 Updated: June 12, 2026

Cypress is a JavaScript end-to-end and component testing framework that runs tests inside the browser with a dedicated runner UI, time-travel debugging, and network stubbing. We hold it for new browser E2E work because Playwright is our adopt default. Existing Cypress suites are fine to maintain until a migration pays off.

Blurb

Fast, easy and reliable testing for anything that runs in a browser.

Summary

What it is: Open source test runner (cypress run, cypress open) plus optional Cypress Cloud for parallelization, recording, and analytics. Strong DX for front-end teams already on JavaScript.

When to use: brownfield repos with a large Cypress investment and no cross-browser gap; component testing workflows already wired to Cypress; teams that rely on Cypress Cloud dashboards and flake detection.

When to skip: greenfield web E2E (use Playwright); need first-class Firefox/WebKit in one project; multi-tab or multi-origin flows that fight Cypress’ in-browser architecture.

Key capabilities: automatic waiting, screenshot/video capture, cy.intercept network control, component testing for React/Vue/Angular, GitHub Action and GitHub Actions CI recipes.

Details

TopicNotes
Installnpm install cypress --save-dev; npx cypress open for interactive runner
Runnpx cypress run headless in CI
Configcypress.config.js or .ts; baseUrl, viewport, retries
CloudOptional paid service for parallel runs and test replay

Versus Playwright: Cypress historically optimized Chromium-first in-browser runs; Playwright targets all major engines with a single API and ships tracing for CI. Prefer Playwright for new Test Pyramid E2E layers.

Migration path: run both frameworks in parallel on a slice of critical paths; port specs file-by-file; drop Cypress when Playwright coverage and CI time match or beat the old suite.

References