Run Cypress against Chrome-family browsers or Firefox with npx cypress run --browser <name>, and install that browser in the local or CI environment first. Cypress describes WebKit support as experimental, so treat it as an additional Safari-engine check—not ordinary, fully supported Safari automation. For CI, a useful starting point is to run the full suite in your primary browser and a deliberate critical-path subset in another browser, then expand coverage where product risk justifies the added runtime and infrastructure.
Which browsers can Cypress test?
Cypress supports Chrome-family browsers, including Edge, and Firefox. Its launch reference names Chrome for Testing, Chrome and its release channels, Chromium, Edge and its release channels, and Firefox and its release channels. Cypress detects installed browsers; the browser you select must be installed in the environment where Cypress runs. See the cross-browser guide and the more detailed browser launching reference.
Cypress starts its own browser instance with an isolated test profile rather than using your ordinary browsing session. In CI, provide the target browser and its dependencies explicitly, or use a Cypress browser image as described in the CI overview.
Support status at a glance
| Target | What to know |
|---|---|
| Chrome-family, including Edge | Supported browser families; Cypress officially supports the latest three major versions of Chrome and Edge. Consult the launch reference for supported names and release channels. |
| Firefox | Supported; Cypress officially supports the latest three major versions. The current launch reference says Firefox versions older than 140 cannot be launched by current Cypress. This floor is release-sensitive. |
| WebKit | Experimental. It requires explicit opt-in and setup; it is not equivalent to supported, full Safari automation. |
These are Cypress’s stated support details, not a guarantee that every browser/version combination behaves identically. Check the launch reference for the Cypress release you use, especially when upgrading.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Run a Cypress suite in a different browser
For a command-line run, pass the browser name to Cypress. The selected browser must already be installed and detectable in the environment.
-
Install Cypress using your project’s package manager. The official installation guide covers npm, Yarn, pnpm, and Bun.
-
Install the browser you want Cypress to launch. In CI, this may mean installing a browser package or choosing a Cypress browser image.
-
Run the suite with an explicit browser name:
npx cypress run --browser chromenpx cypress run --browser firefoxnpx cypress run --browser edge
For interactive work, open the Cypress app and choose an installed browser in its browser selector before starting the tests. Explicit selection in scripts and CI makes the intended coverage clear instead of letting a changing or deprecated default determine it.
Recommended Free Tools
Choose a browser matrix that matches product risk
Running the entire suite in every browser increases confidence in browser-specific behavior, but it also adds test runtime and CI resource cost. Cypress’s documented pattern is to run all tests in one browser and a targeted set of critical-path specs in another. Treat that as a starting strategy, not a universal rule or a claim of complete cross-browser parity.
A practical way to prioritize
-
Identify the browsers and engines that matter to your users and supported product environments.
-
Choose a primary browser and run the broadest useful suite there.
-
Select a small, intentional set of smoke or critical-path specs for additional browsers. Include flows whose failure would materially affect users, as well as features with known browser-sensitive behavior.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. -
Review failures and product risk over time. Expand the secondary suite where it provides meaningful coverage; run broader suites when the added confidence is worth the runtime and infrastructure cost.
When deciding how much to run, weigh user relevance and browser engine, the breadth of specs, runtime and CI capacity, version reproducibility, and the maturity of the browser integration. Cypress’s cross-browser guide illustrates separate browser jobs/groups for a full Chrome run and a selected Firefox subset.
Set up browser-specific CI jobs
Keep browser selection and coverage visible in your CI configuration. Separate jobs or clearly named groups make it easier to tell which browser ran, what portion of the suite it covered, and where a failure occurred. Install the required browser or use a suitable Cypress browser image; the CI documentation describes the image approach.
For example, a pipeline can use these distinct commands:
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →npx cypress run --browser chromefor the broad suite.npx cypress run --browser firefox --spec "cypress/e2e/critical/**/*.cy.js"for a chosen Firefox subset, adapting the spec path to your project.
The second command is only an example of targeting selected specs; use the spec paths and shell quoting appropriate to your project and CI runner. A partial run should be named and reported as partial coverage so it is not mistaken for the full suite.
Make browser versions reproducible
Cypress officially supports the latest three major versions of Chrome, Firefox, and Edge, according to its current launch reference. That reference also says Firefox versions below 140 cannot be launched by current Cypress because their WebDriver BiDi implementation is incomplete; it notes a Firefox floor of 135 for Cypress 15.0.0 through 15.18.1. These are time-sensitive compatibility details, not permanent requirements: verify against the Cypress release and browser image you actually run.
Chrome updates automatically, which can change test behavior between runs. Cypress recommends Chrome for Testing when practical for deterministic Chrome runs because its binaries are versioned and do not auto-update. Pinning browser versions in local and CI environments can reduce environment drift, but schedule deliberate updates so pinned versions do not become stale. Details are in the launch reference.
Rank #4
What WebKit testing does—and does not—tell you
Cypress WebKit support is experimental. The documented setup requires enabling experimentalWebKitSupport: true, installing playwright-webkit, and installing additional Linux dependencies where applicable. Consult the current setup and limitations before adding it to a pipeline.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minuteA WebKit run can help uncover behavior in Safari’s browser engine, but it is not a substitute for validating the full Safari installation and environment your users rely on. Cypress documents limitations including unsupported cy.origin() and Test Replay in WebKit. Decide whether this experimental coverage is useful for your application, and label its status clearly in CI.
Troubleshoot browser launch and test problems
The requested browser is missing
Cause: Cypress cannot detect the selected browser because it is not installed in the local or CI environment. Fix: install the browser, or use a Cypress browser image that includes the browser and dependencies; then rerun with the explicit --browser option.
Firefox will not launch
Cause: the installed Firefox version may be below the floor supported by your Cypress release. The current launch reference says current Cypress cannot launch Firefox older than 140, while Cypress 15.0.0 through 15.18.1 had a floor of 135. Fix: check the reference for your exact Cypress version and install a compatible Firefox version.
Tests change after a Chrome update
Cause: Chrome is evergreen and may update automatically, changing browser behavior. Fix: consider Chrome for Testing for versioned, non-auto-updating binaries, pin the browser used locally and in CI, and update it on a planned cadence.
Best Value
WebKit setup or tests fail
Cause: WebKit requires the experiment flag and its additional package and, on applicable Linux environments, dependencies. Some Cypress features are not supported there. Fix: verify the documented setup and limitations before interpreting the failure as an application defect; use a supported browser for tests that depend on unsupported features.
CI passes in one browser but not another
Cause: browser engines can expose different application behavior, and browser versions or CI dependencies can differ. Fix: preserve the failing browser and version in the job output, confirm that local and CI environments use the intended browser versions, and reproduce with the same explicit browser command before changing the test or application.
Performance, reliability, and cost trade-offs
Each additional browser job consumes CI time and capacity, while repeating every spec may offer diminishing value for a product whose important flows are already well covered. Keep the primary suite broad, make secondary-browser coverage intentional, and track which flows and browser versions each job actually exercises. Prefer stable, explicit browser versions when reproducibility matters; balance that against the maintenance work of updating pinned binaries. No single browser count or percentage of tests is established as right for every team.
Or skip the browser setup
If your goal is to capture a page rather than exercise it with Cypress, ScreenshotNeo is a website screenshot API and MCP server: it returns a PNG, JPEG, WebP, or PDF from one GET request. It does not replace Cypress tests or verify interactive behavior.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
cURL example, with the API documentation at ScreenshotNeo docs:
Quick Recap
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Cookie/consent banners, newsletter popups, and chat widgets are removed before the shot; those steps can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers report the page verdict and billing status. AI agents can use its MCP server tools, including take_screenshot, get_page_info, and capture_pdf. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Sign up for ScreenshotNeo’s free plan.
Further reading
- Cross Browser Testing | Cypress Documentation
- Launching browsers in Cypress | Cypress Documentation
- Continuous Integration with Cypress | Cypress Documentation
- Install Cypress | Cypress Documentation
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




