Nightwatch is a complete and integrated solution for end-to-end testing of web applications and websites, and also for Node.js unit and integration testing.
We're delighted to announce the release of Nightwatch v1.5. Please see the upgrade guide if you are upgrading from a pre v1.0 version.
Up & Running in 2 Minutes:
1. Install Nightwatch from NPM
$ npm install nightwatch --save-dev
2. Install Browser Drivers:
Geckodriver is the WebDriver service used to drive the Mozilla Firefox Browser.
$ npm install geckodriver --save-dev
Chromedriver is the WebDriver service used to drive the Google Chrome Browser.
$ npm install chromedriver --save-dev
or install everything with one line:
$ npm i nightwatch geckodriver chromedriver --save-dev
3. Run a Demo Test:
Nightwatch comes with an
examples folder containing a few sample tests.
Below will run a basic test which opens the search engine Ecosia.org, searches for the term "nightwatch", and verifies if the term first result is the Nightwatch.js website.
$ ./node_modules/.bin/nightwatch node_modules/nightwatch/examples/tests/ecosia.js
Windows users might need to run
Manually Download Browser Drivers
Nightwatch uses a WebDriver compatible server to control the browser. WebDriver is a W3C specification and industry standard which provides a platform and HTTP protocol to interact with a browser.
Nightwatch includes support for automatically managing the following services:
- for running tests against the Chrome browser;
- download url: https://sites.google.com/a/chromium.org/chromedriver/downloads.
Starting with version 75, Chromedriver has W3C Webdriver protocol enabled by default. If you'd like to stick to the JSONWire for now adjust the
desiredCapabilities :browserName : 'chrome'chromeOptions:w3c: false
- for running tests against the Mozilla Firefox browser;
- download url: https://github.com/mozilla/geckodriver/releases.
Selenium Standalone Server
- allows managing multiple browser configurations in one place and also to make use of the Selenium Grid service;
- the selenium server jar file
selenium-server-standalone-3.x.x.jarcan be downloaded from the Selenium releases page: https://selenium-release.storage.googleapis.com/index.html
It's important to note that, while the Selenium Server was required with older Nightwatch versions (
v0.9and prior), starting with version
1.0Selenium is no longer necessary.
Example tests are included in the
examples folder which demonstrate the usage of several Nightwatch features.
Nightwatch unit tests
The tests for Nightwatch are written using Mocha.
1. Clone the project
$ git clone https://github.com/nightwatchjs/nightwatch.git$ cd nightwatch$ npm install
2. Run tests
To run the complete test suite:
$ npm test
To check test coverage, run the command:
$ npm run mocha-coverage
and then open the generated coverage/index.html file in your browser.
Please consider supporting Nightwatch by becoming a backer or sponsor on the OpenCollective platform.