If you're looking for a reliable tool for web functional testing (e2e testing), I highly recommend using TestCafe.
https://i.sstatic.net/lKl9u.gif
TestCafe is an open-source framework that doesn't rely on WebDriver and is based on Node.js, making it fast and efficient.
With TestCafe, tests are executed on the server side and offer a flexible system of Selectors to obtain DOM elements. The ClientFunction feature allows executing JavaScript on the tested webpage, enhancing the test coverage.
Despite its speed, TestCafe maintains stability with its built-in smart wait system, ensuring reliable test results.
Installing TestCafe is straightforward:
1) Make sure you have Node.js installed on your computer (or install it).
2) To install TestCafe, simply run this command in cmd:
npm install -g testcafe
Writing tests with TestCafe is user-friendly. Here's a quick example to get started:
import { Selector } from 'testcafe';
fixture `Getting Started`
.page `http://devexpress.github.io/testcafe/example`;
test('My first test', async t => {
await t
.typeText('#developer-name', 'John Smith')
.click('#submit-button')
.expect(Selector('#article-header').innerText).eql('Thank you, John Smith!');
});
3) Run the tests in your chosen browser (e.g. chrome) by running this command in cmd:
testcafe chrome test.js
Review the descriptive results in the console output.
TestCafe supports testing across various browsers: local, remote, cloud, or headless, making it adaptable for different testing environments including Continuous Integration setups.