---
title: 'Cross-Browser Testing With Cypress: What It Can and Cannot Do (2026)'
description: Cypress supports testing on multiple browsers such as Chrome, Edge, Firefox
  and WebKit.
source_url:
  html: https://testingbot.com/software-testing-questions/how-to-test-cypress-on-different-browsers-and-devices
  md: https://testingbot.com/software-testing-questions/how-to-test-cypress-on-different-browsers-and-devices.md
---

# How to test Cypress on different browsers and devices?

Last updated August 31, 2026

- [![Share on Facebook](https://static.addtoany.com/buttons/facebook.svg) ](https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fhow-to-test-cypress-on-different-browsers-and-devices.md&linkname= "Share on Facebook")
- [![Share on Twitter](https://static.addtoany.com/buttons/twitter.svg) ](https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fhow-to-test-cypress-on-different-browsers-and-devices.md&linkname= "Share on Twitter")
- [![Share on LinkedIn](https://static.addtoany.com/buttons/linkedin.svg) ](https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fhow-to-test-cypress-on-different-browsers-and-devices.md&linkname= "Share on LinkedIn")
- [![Share on HackerNews](https://static.addtoany.com/buttons/y18.svg) ](https://www.addtoany.com/add_to/hacker_news?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fhow-to-test-cypress-on-different-browsers-and-devices.md&linkname= "Share on HackerNews")

Cypress runs tests in Chromium-based browsers (Chrome, Edge and Electron), Firefox, and WebKit, the engine behind Safari. That covers most of what a cross-browser suite needs, with two limits worth knowing before you plan around it: WebKit support is experimental rather than a real Safari, and Cypress does not drive physical mobile devices at all.

## Which browsers can Cypress test?

- **Chrome** , including Chrome Beta, Canary and Chrome for Testing builds.
- **Edge** , which is Chromium underneath.
- **Electron** , the default, bundled with Cypress so it always works with no install.
- **Firefox**.
- **WebKit** , experimental. It uses Playwright's WebKit build, not Safari itself, so it approximates Safari's engine without being the browser your users run.

Internet Explorer and real Safari are not supported, and neither are iOS or Android browsers.

## Running your tests on a different browser

Cypress detects the browsers installed on the machine. Pick one at run time:

```bash
cypress run --browser chrome
cypress run --browser firefox
cypress run --browser edge
cypress run --browser electron
```

You can pin a specific channel or an absolute path when you need a particular build:

```bash
cypress run --browser chrome:beta
cypress run --browser /usr/bin/chromium-browser
```

Each run gets a fresh browser profile with clean history and cookies, so state from a previous run cannot change the result of the next one.

To see which browsers Cypress has found on the current machine:

```bash
cypress info
```

## Running the same spec on every browser

There is no built-in "all browsers" flag. In CI you fan the run out into one job per browser, which also keeps the wall-clock time flat as you add browsers rather than multiplying it. In GitHub Actions that is a matrix:

```yaml
strategy:
  matrix:
    browser: [chrome, firefox, edge]
steps:
  - run: npx cypress run --browser ${{ matrix.browser }}
```

Inside a spec you can also branch on the browser, which is useful when one engine genuinely behaves differently and you do not want a blanket skip:

```javascript
it('uses the clipboard', { browser: '!firefox' }, () => {
  // only runs where the clipboard API behaves as the test expects
})
```

## What about Safari and mobile browsers?

This is where a Cypress-only strategy runs out. The WebKit build ships with Cypress and is marked experimental, and it is not Safari: it does not carry Safari's own quirks, its version does not track what Apple shipped, and nothing about it exercises iOS. If a Safari or mobile bug is the kind of bug you need to catch, Cypress alone will not catch it.

Two honest options. Test the WebKit engine with Cypress and accept the gap, or run the browsers you actually care about with a tool that drives them. Cypress can also be run against browsers hosted elsewhere, which is how most teams get Chrome, Edge and Firefox coverage in parallel without installing anything locally.

## Viewport size is not device testing

Setting a small viewport is a common substitute for mobile testing and it is not the same thing:

```javascript
cy.viewport('iphone-x')
cy.viewport(375, 812)
```

That resizes a desktop browser. It does not give you mobile Safari or Chrome on Android, touch behaviour, the real user agent, device pixel ratio, or the memory limits of a phone. It is a good way to test your responsive breakpoints and a poor way to test whether your site works on an iPhone.

## Common cross-browser failures in Cypress

- **Missing browser in CI.** The Cypress Docker images that include browsers are pinned to specific versions, and a run that assumes Chrome is present will fail on an image that only carries Electron.
- **Firefox memory.** Long Firefox runs consume noticeably more memory than Chromium ones, and a container without enough headroom fails in ways that look like flaky tests.
- **WebKit gaps.** Experimental support means some commands and network stubbing behave differently, so a WebKit-only failure is as likely to be Cypress as your application.
- **Assuming parity.** Chrome and Edge share an engine, so passing both proves less than it appears. Firefox and WebKit are where genuine engine differences surface.

> TestingBot runs Cypress tests on a hosted grid of browsers, in parallel, with video and logs captured for every run. You keep your spec files as they are and get Chrome, Edge and Firefox coverage without maintaining the machines. See [running Cypress tests in the cloud](https://testingbot.com/features/automation/cypress), and [Selenium Grid](https://testingbot.com/software-testing-questions/what-is-selenium-grid) if you also need real Safari and mobile devices that Cypress cannot reach.

- [![Share on Facebook](https://static.addtoany.com/buttons/facebook.svg) ](https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fhow-to-test-cypress-on-different-browsers-and-devices.md&linkname=)
- [![Share on Twitter](https://static.addtoany.com/buttons/twitter.svg) ](https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fhow-to-test-cypress-on-different-browsers-and-devices.md&linkname=)
- [![Share on Linkedin](https://static.addtoany.com/buttons/linkedin.svg) ](https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fhow-to-test-cypress-on-different-browsers-and-devices.md&linkname=)
- [![Share on Hacker News](https://static.addtoany.com/buttons/y18.svg) ](https://www.addtoany.com/add_to/hacker_news?linkurl=https%3A%2F%2Ftestingbot.com%2Fsoftware-testing-questions%2Fhow-to-test-cypress-on-different-browsers-and-devices.md&linkname=)

 ![TestingBot Logo](https://testingbot.com/assets/logo-head-2f7f08db4ac9c4a3b1a784047410f8a4ece708e7e9f10ed16e20fdd8310f8de3.svg)

## Sign up for a Free Trial

Start testing your apps with TestingBot.

No credit card required.

[Start Free Trial](https://testingbot.com/users/sign_up)

## Other Questions

### [Check Android Screen Resolution](https://testingbot.com/software-testing-questions/how-to-check-screen-resolution-on-android "Check Android Screen Resolution")

### [Viewing the HTML source in Safari](https://testingbot.com/software-testing-questions/how-to-view-source-code-in-safari "Viewing the HTML source in Safari")

### [How do you use a proxy during automated testing?](https://testingbot.com/software-testing-questions/how-to-use-a-proxy-for-automated-testing "How do you use a proxy during automated testing?")

### [What is a browser window?](https://testingbot.com/software-testing-questions/what-is-a-browser-window "What is a browser window?")

### [Cause and solutions for slow running Selenium tests.](https://testingbot.com/software-testing-questions/why-are-selenium-tests-running-slow-or-timing-out "Cause and solutions for slow running Selenium tests.")

### [Keyword Driven Testing examples and advantages](https://testingbot.com/software-testing-questions/what-is-keyword-driven-testing "Keyword Driven Testing examples and advantages")
