Evaluating Cypress and TestCafe for end to end testing

Tamlyn Rhodes
Mar 29, 2018 · 4 min read

Let’s look at some similarities

  • Both are open source (MIT licensed) end to end testing frameworks written in JavaScript.
  • Both run partially in the browser and partially in Node.JS.
  • Both transparently retry assertions which eliminates a lot of the flakiness associated with Selenium based tests.
  • Both are under heavy development with very responsive developers and similar sized communities.

And now some differences

Cypress uses (a fork of) Mocha as its test runner with Chai for assertions and Sinon for mocking. This means most JavaScript developers will feel immediately at home. It also does some promise queueing magic to make the asynchronous code look more synchronous.

So which is best

We ended up going with TestCafe because of its better browser support. Our current project, building an open source journal submission platform for Cambridge-based eLife Sciences, needs to be tested in a wide range of browsers including Internet Explorer. If you’re only supporting evergreen browsers then this may not matter.


YLD Blog

YLD's latest thoughts on Software Engineering, Design and Digital Products

Tamlyn Rhodes

Written by

Full stack web developer.

YLD Blog

YLD Blog

YLD's latest thoughts on Software Engineering, Design and Digital Products