A test runner built for humans.
Modern testing with cross-browser compatibility.
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
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
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
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
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.
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?
Install Cypress for Mac, Linux, or Windows, then get started.
Read our docs
We have awesome documentation covering absolutely everything you need to know about testing with Cypress.
Chat with us
Our fantastic open source community is super active on Gitter chat and Stack Overflow. Join us!
Contribute to Cypress
Your input is so valuable to us. Contribute your code, bug reports and feature requests on GitHub.