mrkeyoor.com_
Tue 03 Nov 13:15 UTC
Dev Toolsevaluationupdated 11 Oct 2026

cypress review

Cypress runs automated checks against web applications and individual browser components, then shows the commands and page snapshots that led to a failure. It helps frontend teams reproduce broken user flows without piecing together the sequence from a bare error message.

+2stars / 7d
Verdict

Our Cypress source run installed 4,239 packages in 896 seconds and passed its build, but the test command failed after 63 seconds with failed tests and snapshots in the log. Choose it for web flows where command snapshots help your team diagnose failures, and distinguish that application choice from maintaining this large source repository. I would choose another runner for simultaneous independent browser sessions or native mobile automation.

We ran it

Lab card: what happened when we ran cypressScreenshot of cypress (cypress.io)
Install✓ · 896s4239 packages · 3101 MB
Build✓ · 208s
Tests✗ · 63s2 passed · 0 failed of 2 (vitest)
Repo7150 files~623,684 lines of source · 92.6 MB · 12 CI workflows

Answers from our run

Does cypress build from source?

Dependencies installed in 896 seconds (4239 packages), and the build succeeded in 208 seconds. We cloned commit 2c8bec0 into a clean Debian container with 3 CPUs and no project-specific setup.

Do cypress's tests pass?

No. The project's own test command finished in 63 seconds and reported 2 passed, 0 failed (vitest).

Who should not use cypress?

Native mobile teams: the trade-offs guide says native mobile events are unsupported.

What are the alternatives to cypress?

Playwright, WebdriverIO. Our Cypress source run installed 4,239 packages in 896 seconds and passed its build, but the test command failed after 63 seconds with failed tests and snapshots in the log.

Setup3/5Documented package path; source setup used 3,101 MB and tests failed
Docs4/5Clear query rules, platform requirements and architectural limits
Community5/5October push and issue activity, with 51,046 GitHub stars
Maturity4/5Inspectable browser workflows, documented limits, failed source-suite run

Discussed on

  1. hnCypress can't open Tesla.com website4 points

Who it’s for

Frontend teams checking their own web application who want a command log and page snapshots beside the failing flow.
JavaScript and TypeScript developers willing to learn how query retries differ from commands that execute once.
Teams evaluating a browser runner with local debugging and optional hosted run history.

Who it’s NOT for

Native mobile teams: the trade-offs guide says native mobile events are unsupported.
Teams needing simultaneous independent browser sessions: Cypress cannot control multiple open browsers at once. Its multiple-tab plugin addresses a different need.
Teams requiring a nonexperimental WebKit route: the browser guide labels WebKit support experimental and requires explicit opt-in.
Developers choosing a general crawler or load-testing tool: the trade-offs guide identifies web indexing and performance testing as poor fits.
Fork maintainers requiring a clean fresh-container suite before adoption: our source run exited with code 1, with failed tests and snapshots in the log.

Setup reality

Our sandbox installed source commit 2c8bec0 in 896 seconds, adding 4,239 packages and occupying 3,101 MB. The build passed in 208 seconds. Tests exited with code 1 after 63 seconds: the tail includes 4 failed tests and 2 failed snapshots in one Vitest summary, plus 5 failures in a separate summary. Another summary reports 1,565 passing tests. The short 2-pass summary does not describe the whole run. These figures measure the source monorepo, not adding the published package to an app.

Application use needs a running site, suitable test data, and project configuration. Local checks can run without Cloud recording. Hosted recording requires a linked Cypress Cloud project and record key. The README sends package users to installation docs and contributors to a separate workspace guide.

Our fresh Debian container had 3 CPUs, 8 GB of RAM, and lab-node:22, without secrets or elevated privileges. The installation docs list Linux libraries and a separate binary download that lifecycle-script blocking can prevent. WebKit is experimental and needs additional setup. The supplied failure tail does not establish missing system packages or any other cause.

The command log makes a failed browser flow inspectable

When a checkout button fails, Cypress lets you inspect the command that clicked it and the page snapshot attached to that command. Its open mode puts the application beside a command log, with console details available when you select an entry. That is the reason I'd consider it for a frontend team: the person fixing the failure can see the sequence that produced it.

There is a substantial project behind that interface. Our source checkout contained 7,150 files and roughly 623,684 lines of source. The user-facing programming model also deserves attention: linked queries and assertions retry together, while non-query commands execute once. The retry guide explains that distinction. You need to understand it before treating every command as an ordinary JavaScript call or adding fixed waits whenever the page responds slowly.

What happened when we ran it

Our run installed 4,239 packages in 896 seconds and occupied 3,101 MB, then completed the build in 208 seconds. We cloned commit 2c8bec0 on October 10, 2026, into a fresh Debian sandbox with 3 CPUs and 8 GB of RAM, using lab-node:22. The container was unprivileged and had no secrets. These measurements cover the source repository, with Yarn workspaces, rather than a consumer application's Cypress dependency.

The test step exited with code 1 after 63 seconds. One Vitest summary in the log tail reports 4 failed tests and 994 passed, across 2 failed files and 50 passed files. It also reports 2 failed snapshots. A separate summary reports 7 passing, 1 pending, and 5 failing. The excerpt does not name the failed cases or show their underlying error messages, so it cannot establish why they failed.

Another Vitest summary shows 26 files passing and 1,565 tests passing. The harness's short summary lists 2 passed and 0 failed, but that narrower result cannot override the failed command and the failures visible in its tail. These are separate summaries, not a justified combined total. The checkout occupied 92.6 MB before installation. Its scan found 12 CI workflow files and a compose file, but no Dockerfile or tests directory. The log itself plainly contains tests.

The package quick start differs from the source monorepo

The 896-second installation is a contributor cost measured on this checkout. The README directs application developers to add the published package as a development dependency. Its contributor guide explains the workspace repository separately. Comparing those paths matters: our 3,101 MB result does not tell you how much disk space an ordinary application installation will consume. We did not measure that path.

For an application, budget for a running site, repeatable test data, and configuration that points Cypress at the right environment. Ordinary local operation does not require Cypress Cloud recording. If you want hosted run history, the Cloud setup guide requires a linked project and record key. The installation guide also documents a separate binary download and Linux libraries, including GTK and Xvfb. A package manager that blocks lifecycle scripts needs explicit handling.

Simultaneous browser sessions and native apps are poor fits

Cypress's trade-offs guide says it cannot control multiple open browsers simultaneously. It points to a Puppeteer plugin for multiple tabs, which is a different requirement. If your acceptance scenario needs an administrator and a customer independently using the same service, decide whether a workaround preserves the behavior you care about. I'd choose a runner with independent browser sessions before restructuring that scenario around Cypress.

A successful 208-second source build does not remove those product boundaries. The same guide excludes native mobile events and identifies web indexing and performance testing as poor uses. Device gestures or general web automation call for another tool. This distinction matters more than our failed suite when choosing a runner: a green upstream checkout would still leave those requirements outside its documented scope.

WebKit support still requires an experimental setting

The browser guide labels WebKit support experimental and requires an opt-in plus a separate browser package. It also documents additional Linux requirements. Teams whose release decision depends on Safari behavior should evaluate that route explicitly before adopting Cypress across the organization. Chromium coverage alone cannot answer whether a WebKit-specific interaction works, and our sandbox results contain no browser compatibility measurement.

For multi-user web scenarios, Playwright documents independent browser contexts within a single scenario. For browser and native mobile automation, WebdriverIO supports WebDriver and Appium. Those are the alternatives I'd shortlist. Our 4,239-package source install supplies no comparative speed evidence for either one. Choose by the interaction you need to exercise, then assess how easy its failures are for your team to diagnose.

October activity shows maintenance alongside unresolved reports

The repository was pushed on October 11, 2026, and the latest release was v16.1.1, published September 29. GitHub listed 51,046 stars and 1,126 open issues and PRs. Recent issue activity includes report 35026, updated October 10, describing a browser hang when synchronous XHR targets the /__cypress/ namespace. That is a specific user report, not an explanation for our sandbox failures. The release notes include command typing fixes.

I'd trial Cypress on a checkout or account-editing flow where a developer benefits from command snapshots. Keep the 63-second failed source-suite result in view if you plan to contribute or maintain a fork. For application adoption, deliberately break an assertion in your own flow and have the next person diagnose it. Whether they can explain that failure is a better reason to keep Cypress than its star count.

Alternatives

ProjectWhat it isPick it when
Playwright gh↗A web automation framework with independent browser contexts for separate user sessions.pick this instead when an administrator and customer must interact independently in the same scenario.
WebdriverIOA Node.js automation framework supporting WebDriver and Appium.pick this instead when browser checks and native mobile automation need to share a framework.

What people are saying

  1. [github-trending] cypress-io/cypress

Sources

  1. Cypress README
  2. Cypress open mode and command snapshots
  3. Cypress query retry behavior
  4. Cypress architectural trade-offs
  5. Cypress installation and Linux prerequisites
  6. Cypress browser support and experimental WebKit
  7. Synchronous XHR hang report 35026
  8. Cypress v16.1.1 release notes

More dev tools reviews

QuickLook · kero · CalibRaw · ava · hiddify-app · betterleaks · the whole board →