Testing, the way it should be.


Painless Debugging

Stop guessing why your tests are failing. Readable errors help you quickly debug across all browsers.


Instant Feedback

Interact with your real application while you code, develop, and test all at the same time.


Reliable Automation

Reduce the flake in your Continuous Integration builds. Get the same results every time.

The future of testing is here.

Setup Tests

  • Automate your workflow. Drive your application with automated tests instead of manually verifying that your app works.
  • Get started in minutes. Don't spend days setting up a test environment. Just download our desktop app, add your project and start testing! Seriously.
  • No changes to your code. You don't need to change your code and Cypress doesn't need to modify your code.
  • Works with all languages & frameworks. Test in any major language or framework. Does your app run in a browser? Yes? You can test it in Cypress.
  • No Dependencies. There's no need to download Selenium, Webdriver, Node, or any other code dependencies to get your tests up and running.

Run Tests

  • Real-time command execution. Cypress automatically reloads whenever you make changes. See commands execute in real-time in your app.
  • Clear visibility. Testing through a console obscures what caused failures. Cypress runs in the browser with your application always visible.
  • Easily Debug. Debug directly from familiar tools like Chrome developer tools. Our readable errors and stack traces make debugging lightning fast.
  • No more async hell. Handling complicated asynchronous logic in most SPAs is a nightmare. Not in Cypress. We utilize Promises for simple async testing.
  • Automatic waiting. Never add waits or sleeps to your tests. Cypress automatically waits for commands and assertions before moving on.
  • Intelligent network requests. Handling AJAX/XHR is ridiculously simple. Our extensible API lets you control every aspect of every request.
  • Simple API. Every method is in clear English. Every command uses a familiar API to locate and verify elements on a page.

Maintain Tests

  • Consistent Results. Our architecture runs inside the browser instead of blindly driving the browser like Selenium. This means less brittle, flaky tests.
  • Continuous Integration Support. Know as soon as there's a failure by using Cypress in CI. Cypress supports TravisCI, Jenkins, CircleCI, Codeship, and more.
  • Cypress 's Open Source We're free for open source projects and many of our tools are open source with constant improvements in our roadmap.
  • Awesome Documentation. Our extensive documentation covers every API command and has example tests to help your team maintain quality tests.
  • Excellent Support. Get stuck? We're here to help you. Join us in our Gitter chat, email us, or ask a question on Stackoverflow.

A test runner like you've never seen before.

Test runner in cypress

What People are Saying

Frequently Asked Questions

Why do I need Cypress?

We believe that testing web applications is one of the hardest challenges for web developers today. While there's been an explosion of JavaScript frameworks that help with client-side architecture, there's a huge void of quality testing tools. It's not uncommon to spend more time getting tests to pass than it took to write code for the feature. Cypress simplifies the effort and complexity of writing and debugging integration tests.

Isn't this just another test runner like Karma, Test'em, etc?

Cypress replaces your existing test runner, but goes much, much further. Cypress automatically monitors test files, reloads changes in real time, processes and builds JS files, and is highly configurable. It additionally offers a GUI to see your tests run in the browser with your app, offers smart debugging feedback, and has built in mocking, spies, and stubbing.

How is this different than Protractor?

Proctractor and Cypress are similar in that they provide end-to-end (integration) testing. Protractor, however, is primarily focused for AngularJS applications. Cypress works with every framework, including AngularJS. Protractor requires Selenium to be installed locally, Cypress does not. Protractor runs primarily in a terminal, Cypress runs in your browser so you can see your application while testing. Protractor is considerably slower than Cypress. Protractor has been known to be difficult to debug. Cypress offers simple error messages and custom debugging feedback.

Do I need to run PhantomJS / Selenium Web Driver?

No. Cypress replaces Selenium completely, and is completely different than PhantomJS. Cypress is not a headless browser. It has a headless mode using Chromium that can be used for continuous integration.

What assertion library is used in Cypress?

Cypress uses Chai internally, but it can be configured with any assertion library.

How long does it take to get up and running?

After installing Cypress as a native application (compatible with Mac and Linux), you sign in, add your project's folder and click 'Start'. That's it.

Will this work for my CI server?

Yes. It works with all CI servers including TravisCI, CircleCI, CodeShip, Jenkins, and more.

When will it be available?

Sometime in 2017. Fill in your email and we'll send you updates on our progress.

How do I get early access?

We're still hand picking early adopters to work out all the initial kinks. We regularly communicate with applicants to our early access program to ensure Cypress fits perfectly into their existing workflow. Sign up and we'll get in touch to see if you're a good fit.

How much does Cypress cost?

It's free for open source projects and paid for private projects running in CI. We're still working on figuring out the exact price points.