You can write TestCafe tests in ES2016 using all latest JavaScript features like 'async/await'.
TestCafe introduces simple, but powerful test API. It offers a couple of dozen methods covering all user actions. Chained syntax produces code that is easy to write and read. Furthermore, you are free to use any assertion library to perform verifications of different kinds.
import { expect } from 'chai';
fixture `My Fixture`
.page('http://devexpress.github.io/testcafe/example');
test('My Test', async t => {
await t
.click('#send-button')
.handleAlert()
.typeText('#input', 'Peter Parker')
.wait(1000);
expect(await t.eval(() => getSomethingOnTheClient())).to.be.true;
});
TestCafe will compile your test code on-flight and run it immediately. It also ships with built-in support for source maps to leverage debugging experience. Source maps are automatically enabled, so all you need to do is start a debugging session in an IDE that supports them.