How it works

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.

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')
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
Live mode allows you 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.

Automate Your Web Testing – 100% Code‑Free!

You can now visually record automated test scripts.
Code-free tests lower the learning curve and improve productivity.

Try TestCafe Studio IDE