Git Product home page Git Product logo

nightwatch's Introduction

Nightwatch.js

npm Node.js CI codecov npm package Join the chat at https://gitter.im/nightwatchjs/nightwatch Node Support Twitter Follow

Nightwatch.js Schematic Logo


Automated end-to-end 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. It can also be used for Node.js unit and integration testing.

Nightwatch v2.0-alpha

We're delighted to announce that Nightwatch v2.0 is now in alpha and available in NPM. Read the blog post about the new features and changes.

Install with:

npm i nightwatch@alpha

Up & Running in 2 Minutes:

1. Install Nightwatch from NPM

$ npm install nightwatch --save-dev

2. Install Browser Drivers:

Geckodriver (Firefox):

Geckodriver is the WebDriver service used to drive the Mozilla Firefox Browser.

$ npm install geckodriver --save-dev
Chromedriver:

Chromedriver is the WebDriver service used to drive the Google Chrome Browser.

$ npm install chromedriver --save-dev

or install everything with one line:

$ npm install 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.

$ npx nightwatch node_modules/nightwatch/examples/tests/ecosia.js

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:

ChromeDriver

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 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.

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.

Examples

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

You can also check out the nightwatch-website-tests repo for example tests against the nightwatchjs.org website.

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.

Support Nightwatch

Nightwatch is built by @pineviewlabs - an independent software consultancy based in Oslo, Norway, with help from our contributors.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.