How it works

Features
So what can I do with it?

Create stable tests
(and no manual timeouts)

TestCafe automatically waits for page loads and XHRs before the test starts and after each action. It also features smart test actions and assertions that wait for page elements to appear. You can change the maximum wait time. If elements load faster, tests skip the timeout and continue.

Write in latest JS
or TypeScript

TestCafe supports the latest JavaScript features, including ES2017 (for example, async/await). You can also use TypeScript if you prefer a strongly typed language.

Detect JS errors
in your code

TestCafe reports JS errors that it finds on the webpage. Tests automatically fail because of that. However, you can disable this.

Launch
concurrent tests

TestCafe can open multiple instances of the same browser to run parallel tests which decreases test execution time.

Build readable tests
with PageObject

The TestCafe's Test API includes a high-level selector library, assertions, etc. You can combine them to implement readable tests with the PageObject pattern.

const el = Selector('.column').find('label')
.withText('MacOS').child('input');

Include tests in continuous
integration system

You can run TestCafe from a console, and its reports can be viewed in a CI system's interface (TeamCity, Jenkins, Travis & etc.)

Rapid test development
Here's a free plugin to edit your TestCafe tests on the fly. Changes you make in the code will immediately restart the tests. And you'll see test results instantly.
npm install -g testcafe-live
IDE for end-to-end web testing
How about e2e automation without coding?
Meet TestCafe Studio: all the perks of TestCafe + GUI + Visual Test Recorder.
Check it out!

Do you like TestCafe?

Tweet why to help others decide