Skip to content

docs(comparisons): update Playwright vs Cypress for 2026 - #523

Merged
hlenke merged 6 commits into
mainfrom
playwright-vs-cypress-2026
Nov 4, 2026
Merged

hlenke merged 6 commits into
mainfrom
playwright-vs-cypress-2026

Conversation

@Dgiordano33

Copy link
Copy Markdown
Collaborator

Summary

Updates the Playwright vs Cypress comparison to reflect Playwright 1.63 and Cypress 16.1. Facts verified against playwright.dev and docs.cypress.io.

Corrections

  • Cypress supports Chrome, Chromium, Edge, and Firefox, with experimental WebKit (the old page said Chromium-only)
  • Playwright uses CDP for Chromium only; Firefox and WebKit use patched builds
  • Playwright has its own runner (Playwright Test), not Jest/Mocha; other languages use pytest, JUnit/TestNG, NUnit/MSTest/xUnit
  • Cypress runs test code inside the browser with a Node server alongside (not an "Electron-based app"); Electron browser is deprecated
  • Accurate tabs, cy.origin(), and iframe limits for Cypress
  • Playwright component testing is stable; Cypress officially supports React, Angular, Vue, Svelte
  • Cypress parallelization requires Cypress Cloud (--record) or a third-party service

Updates

  • AI tooling: Playwright MCP server, CLI, and test agents; Cypress cy.prompt() and Studio
  • Clock API, ARIA snapshots, WebSocket mocking, Cypress Cloud add-ons
  • Rebuilt comparison table (tabs, cross-origin, iframes, component testing, debugging, AI, licensing)
  • Removed dated 2023 opinion section; refreshed title ([2026]), description, and date
  • Conclusion links to Playwright Check Suites

Title keeps "Playwright vs Cypress" order: per Ahrefs it has higher volume than "Cypress vs Playwright" (US 700 vs 500, global 3.2K vs 2.5K), and both share the same parent topic.

mint broken-links passes. Code examples unchanged.

🤖 Generated with Claude Code

Reflects Playwright 1.63 and Cypress 16.1: corrected browser support,
architecture, parallelization, tabs/origins/iframes, component testing,
and AI tooling. Refreshed comparison table, pros/cons, and frontmatter.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@mintlify

mintlify Bot commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
checkly-422f444a 🟢 Ready View Preview Nov 4, 2026, 2:03 AM

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@hlenke hlenke left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs changes · Rebase on main to clear the merge conflict, then fix the outdated Cypress same-origin rule. The rest of the rewrite checks out against the Playwright and Cypress docs.

Blocker: merge conflict. GitHub reports the PR as CONFLICTING. Since the merge base (3db03cb1), main changed this file once, in 749370d0 (#734), which capitalized "playwright" in the paragraph that starts "We've also seen testing become the battleground". This PR deletes that paragraph, so resolve the conflict by keeping the PR's version.

CI. preview-checks fails, but not because of this page. check-api-preview.mjs gets HTTP 404 on API reference pages under api-reference/status-pages/, status-page-incidents/, status-page-services/, and usage/ (run log). This PR only touches comparisons/frameworks/playwright-vs-cypress.mdx. The preview was probably built from the old base, so the check should pass after the rebase. Could not verify that until it reruns.

Overlap. Draft #774 (sentence case for headings) also edits this file. This PR already sentence-cases its own headings, so land it first and rebase #774 on it.

The corrections listed in the PR description hold up against the vendor docs: Cypress's browser list with experimental WebKit, Cypress parallelization only through Cypress Cloud with --record, Playwright's bundled MCP server and CLI (1.62), test agents (1.56), and framework-agnostic component testing. Details are under "What I checked".

Inline: 2 Important, 1 Wording.

What I checked
  • Read the full diff from merge base 3db03cb1, and the main change to this file since then (749370d0).
  • gh pr checks 523: preview-checks fails and the other 5 pass. Read the failed log. gh pr view: CONFLICTING/DIRTY.
  • Cypress trade-offs: not a general purpose automation tool; one browser at a time; multiple tabs only through @cypress/puppeteer; same-origin iframes can be queried, and a "switch into an iframe" command is still an open proposal.
  • Cypress cross-origin testing: since v14.0.0, a test is bound to an origin, not a superdomain, and cross-origin iframes can't be automated.
  • Cypress launching browsers: Chrome, Chromium, Edge, and Firefox are supported. WebKit is experimental and needs playwright-webkit. Electron is deprecated.
  • Cypress parallelization: requires --record to Cypress Cloud and works per spec file.
  • Cypress cy.prompt: in beta since 15.13.0. It "Requires Cypress Cloud account and/or valid record key".
  • Cypress changelog: the latest release is 16.2.1 (Oct 28, 2026).
  • Extra tabs are closed between tests: cypress-io/cypress#28204.
  • Playwright release notes: the latest release is 1.64. 1.62 bundles the MCP server and playwright-cli, and 1.56 introduced the planner, generator, and healer agents.
  • Playwright component testing: framework-agnostic and no longer experimental ("if your dev server can render it, Playwright can test it"). That matches the table row.
  • Internal links /concepts/monitoring-as-code, /detect/synthetic-monitoring/playwright-checks/overview, and /detect/synthetic-monitoring/browser-checks/visual-regressions exist on main.
  • Not run: the two code examples. The PR only removes a semicolon from the Cypress one. They are plain Playwright and Cypress tests, not Checkly constructs.
  • Could not verify: "has widened the gap since" in npm downloads, which I did not check against npm data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hlenke
hlenke merged commit fd9a0c6 into main Nov 4, 2026
6 checks passed
@hlenke
hlenke deleted the playwright-vs-cypress-2026 branch November 4, 2026 02:06

This branch was successfully deployed

1 active deployment
staging — 403e654c Deployed Nov 4, 2026 by mintlify[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants