A test runner built for humans.

Test status menu:

See how many tests passed or failed, and how long they took to run.

Viewport sizing:

Test responsive layouts by changing your app’s viewport size.

Test runner

Command Log:

Hover over a command in the log and the app preview shows you exactly what it looked like when the test ran. Our users call it time travel. ✨

App preview:

While test commands execute, see what happens in your app in real time. Use your DevTools to inspect or debug each command.

Cypress makes these 4 tasks amazingly simple:

Setting up tests

Write your first passing test in 60 seconds. There are no servers, drivers, or any other dependencies to install or configure.

"Just wrote an e2e test with Cypress in an hour for our Angular app which has taken me 2 days in protractor. 1 gazillion thumbs up on a brilliant product!" Mark Valenzia
Installing Cypress from the CLI

Writing tests

Tests written in Cypress are easy to read and understand. Our API comes fully baked, on top of tools you are familiar with already.

"After all that selenium timeout hell. Finally I can focus on writing tests instead of fighting with browsers." Albert Fazullin - Senior Software Engineer at Flatstack
Writing tests in Cypress

Running tests

Cypress runs as fast as your browser can render content. You can watch tests run in real time as you develop your applications. TDD FTW!

"Wow, Cypress is the first end to end testing environment I've used that doesn't feel like a chore and actually speeds up my development. 😵" Chris Fritz - Vue.js Core Team Member
Running tests

Debugging

Readable error messages help you to debug quickly. You also have access to all the developer tools you know and love.

"These days I find it often faster and easier to debug certain issues that i just quick write a test for it.. helped me to identify a few of our production bugs already :)" Yogi Langnickel - Developer at Shine Solutions Group
Debug Cypress Tests

Game changers

Time travel

Cypress takes snapshots as your tests run. Simply hover over commands in the Command Log to see exactly what happened at each step.

Debuggability

Stop guessing why your tests are failing. Debug directly from familiar tools like Chrome DevTools. Our readable errors and stack traces make debugging lightning fast.

Real time reloads

Cypress automatically reloads whenever you make changes to your tests. See commands execute in real time in your app.

Automatic waiting

Never add waits or sleeps to your tests. Cypress automatically waits for commands and assertions before moving on. No more async hell.

Spies, stubs, and clocks

Verify and control the behavior of functions, server responses, or timers. The same functionality you love from unit testing is right at your fingertips.

Network traffic control

Easily control, stub, and test edge cases without involving your server. You can stub network traffic however you like.

Consistent results

Our architecture doesn’t use Selenium or WebDriver. Say hello to fast, consistent and reliable tests that are flake-free.

Screenshots and videos

View screenshots taken automatically on failure, or videos of your entire test suite when run headlessly.

How is this possible?

Let us explain how we make this magic happen...

Ready to try Cypress?

$ npm install cypress  

or

Download Now
Install Cypress for Mac, Linux, or Windows, then get started.