Recs.
Updated
"Easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites. It uses the powerful Selenium WebDriver API to perform commands and assertions on DOM elements"
Specs
Pros
Pro 3rd party integration with Cucumber
Though Cucumber is not officially supported, Nightwatch can be used with Cucumber.
Pro You don't have to choose a testing framework
Nightwatch solves the Paradox of Choice among testing frameworks such as Jasmine, Cucumber or Mocha+Chai, by including its own BDD-style assertion library, based on Chai.
Cons
Con Bugs
There are some bugs. For example, you can't run Selenium Server via Nightwatch Test Runner so you must do it manually. Also, there is a problem with passing elements-locator as arguments to functions - after writing a function that passes two locators-arguments and trying to pass locators to the function by using Nightwatch notation ('@firstDefinedLocator', '@secondDefinedLocator'), only the first one was passing properly.
Recommendations
Comments
Out of Date Pros + Cons
Con No official BDD-style syntax support
They mention this in the official documentation: "Starting with version 1.3 Nightwatch has native support for using the popular BDD interface for writing tests. No further configuration is necessary" https://nightwatchjs.org/guide/using-nightwatch/using-bdd-describe.html