Browser Automation

Cypress: uses, strengths, and limitations

Web testing with an interactive development runner.

Cypress logo
Pricing model
Freemium
Open source
Yes
Last verified

In simple terms

What is Cypress?

Cypress is a JavaScript and TypeScript testing tool that runs web tests through an interactive browser-oriented workflow. It supports end-to-end and component testing.

Practical guide

Cypress explained simply

In plain words

Cypress is a browser testing tool built around one very good idea: you should be able to watch your test run, step by step, and click back through what happened. It opens a real browser window with your test on one side and the application on the other.

For developers writing their first tests, that feedback loop is genuinely delightful, and it remains the strongest reason teams choose it.

What using it looks like

cypress/e2e/login.cy.js JavaScript
describe('login', () => { it('signs a registered user in', () => { cy.visit('/login'); cy.get('[data-cy=email]').type('reader@example.test'); cy.get('[data-cy=password]').type('test-password'); cy.contains('button', 'Sign in').click(); cy.contains('h1', 'Dashboard').should('be.visible'); });});

Commands automatically retry for a short while, so a page that takes a moment to appear does not immediately fail the test. The interactive runner then lets you hover over each command and see exactly what the page looked like at that moment — a time machine for your test.

It also does component testing well, mounting a single piece of your interface in a real browser. If your team already lives in a JavaScript front-end stack, that fits naturally into how you work.

What to watch out for

  • Tests are written in JavaScript or TypeScript only. If your team writes Java or Python, this is a hard stop.
  • The documented model is one browser tab. Workflows that open popups or a second tab need workarounds rather than a natural approach.
  • WebKit support is experimental — do not treat it as Safari coverage you can sign a release on.
  • The runner is open source; the dashboard and parallelisation features are a paid service. Price that in before you depend on them.

Common questions

Is Cypress free?

The test runner is free and open source. Cypress Cloud — recording runs, parallelisation, analytics — is a paid subscription with a limited free tier.

Can it test a website it did not build?

Yes, it can test any site you are authorised to test. Cross-origin navigation has documented restrictions, so check those if your login goes through a third-party provider.

Is it good for beginners?

It is one of the friendliest starting points, mostly because seeing the test run makes the whole idea click faster.

Core capabilities

What it helps teams do

Interactive runner

Inspect commands, application state, and failures while developing tests.

Retry behavior

Queries and assertions retry according to Cypress command-chain rules.

Network control

Observe, stub, and modify supported browser network requests.

Component testing

Mount supported framework components in a real browser workbench.

Good fit

Consider Cypress when

  • JavaScript or TypeScript web teams
  • Interactive test development and command inspection
  • Component testing for supported front-end frameworks

Consider alternatives

Another approach may fit when

  • Tests require another programming language
  • Multi-tab workflows are central to the product
  • Stable WebKit coverage is a release requirement

Trade-offs

Limitations to understand

  • Test authoring centers on JavaScript and TypeScript.
  • The documented single-tab model affects some popup and multi-window workflows.
  • WebKit support is experimental and should not be treated as stable Safari coverage.

Evaluation checklist

Questions to answer before adoption

  1. 01Will the team use end-to-end testing, component testing, or both?
  2. 02Do target workflows open multiple browser tabs?
  3. 03Which local and CI browsers are mandatory?
  4. 04Which Cypress Cloud features, if any, are required beyond the open-source runner?

All levels

Playwright vs Cypress vs Selenium: A Neutral Comparison

Open article

All levels

Playwright vs Cypress: Features, Differences, and Trade-offs

Open article