Skip to content

Automated testing and continuous integration framework based on Node.js and using the Webdriver protocol

License

Notifications You must be signed in to change notification settings

zymotik/nightwatch

 
 

Repository files navigation

Nightwatch


Automated testing framework powered by Node.js and using W3C Webdriver (formerly Selenium).

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.

npm Build Status Coverage Status Greenkeeper badge


Nightwatch v1.1

We're delighted to announce the release of Nightwatch v1.1. Please see the upgrade guide if you are upgrading from an earlier version.

1. Install Nightwatch

From NPM:

$ npm install nightwatch
  • add -g if you wish to install Nightwatch globally on your system.

From GitHub:

$ git clone https://github.com/nightwatchjs/nightwatch.git
$ cd nightwatch
$ npm install

2. Download WebDriver

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:

ChromeDriver

Starting with version 75, Chromedriver has W3C Webdriver protocol enabled by default. However we recommend sticking to the JSONWire for now as some endpoints aren't implemented yet, such as /displayed. To do so, adjust the chromeOptions:

desiredCapabilities : {
  browserName : 'chrome',
  chromeOptions: {
    w3c: false
  }
}

GeckoDriver

Selenium Standalone Server

It's important to note that, while the Selenium Server was required with older Nightwatch versions (v0.9 and prior), starting with version 1.0 Selenium is no longer necessary.

Setup Guides

Specific WebDriver setup guides can be found on the Docs website. Legacy Selenium drivers setup guides along with debugging instructions can be found on the Wiki.

Example tests

Various example tests are included in the examples folder which demonstrate the usage of several Nightwatch features.

Example configuration

A sample nightwatch.json config file can be found in bin folder.

Nightwatch unit tests

The tests for Nightwatch are written using Mocha.

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.

Changelog

The release history and changelog is available on the GitHub Releases page.

Updates

We use Twitter to communicate updates regarding development and to announce releases. Follow @nightwatchjs to get the latest or if you wish to get in touch.

Discuss / Support

The Mailing List/Google Group is the most appropriate tool for Nightwatch related discussions. In addition, there is a StackOverflow Nightwatch.js tag at your disposal.

Support Nightwatch on OpenCollective

Please consider supporting Nightwatch by becoming a backer on the OpenCollective platform.

Open Collective

About

Automated testing and continuous integration framework based on Node.js and using the Webdriver protocol

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 99.9%
  • HTML 0.1%