Nightwatch.js
Nightwatch.js is an integrated, easy to use End-to-End testing solution for web applications and websites, written in Node.js. It uses the W3C WebDriver API to drive browsers and perform commands and assertions on DOM elements. Simple but powerful syntax which enables you to write tests very quickly, using Javascript (Node.js) and CSS or Xpath selectors. Typescript is supported as well. Built-in command-line test runner which runs the tests either sequentially or in parallel, with retries and implicit waits. Also supports grouping of test suites and tags. Manages automatically Selenium or WebDriver services (ChromeDriver, GeckoDriver, Edge, Safari) in a separate child process. Fluent and easy to work with Page Object Model support to better organise elements and sections, with support for both CSS or Xpath selectors.
Learn more
Selenide
You don't need to think how to shut down browser, handle timeouts and StaleElement Exceptions or search for relevant log lines, debugging your tests. We are proud to claim that Selenide is so simple that you don't need to read tons of documentation. Selenium WebDriver is a great tool, but it’s not a tool for testing. It’s a tool for browser manipulation. There are several testing libraries around Selenium WebDriver. But it seems that they do not resolve the main problems of UI tests. Namely, instability of tests caused by dynamic content, JavaScript, Ajax, timeouts etc. Selenide was created to resolve these problems. First of all, Selenide makes your tests stable by resolving (almost) all Ajax/timing issues. We are proud to claim that Selenide is so simple that you don't need to read tons of documentation. The whole work with Selenide consists of three simple things!
Learn more
Selenium WebDriver
Selenium WebDriver drives a browser natively, as a real user would, either locally or on remote machines. WebDriver is simple, it is designed as a concise and compact programming interface. Through a simple setup, WebDriver can be used with all major browsers. Automate real user interactions in Firefox, Safari, Edge, Chrome, Internet Explorer and more! Selenium WebDriver refers to both the language bindings and the implementations of the individual browser controlling code. This is commonly referred to as just WebDriver. The W3C is an international community that works to develop Web standards. In June 2018, WebDriver became a W3C recommendation. Major browser vendors (Mozilla, Google, Apple, Microsoft) support WebDriver and work constantly to improve the browsers and browser controlling code, which leads to a more uniform behavior across the different browsers, making your automation scripts more stable.
Learn more
Selenium
Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should) also be automated as well. If you want to create robust, browser-based regression automation suites and tests, scale and distribute scripts across many environments, then you want to use Selenium WebDriver, a collection of language specific bindings to drive a browser - the way it is meant to be driven. If you want to create quick bug reproduction scripts, create scripts to aid in automation-aided exploratory testing, then you want to use Selenium IDE; a Chrome and Firefox add-on that will do simple record-and-playback of interactions with the browser. If you want to scale by distributing and running tests on several machines and manage multiple environments from a central point.
Learn more