Description
UI automated testing framework powered by Node.js. It uses the Selenium WebDriver API.
nightwatch alternatives and similar libraries
Based on the "Runner" category.
Alternatively, view nightwatch alternatives based on common mentions on social networks and blogs.
-
Playwright
Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API. -
casperjs
Navigation scripting & testing utility for PhantomJS and SlimerJS. -
zombie
Insanely fast, full-stack, headless browser testing using node.js -
totoro
A simple and stable cross-browser testing tool. 简单稳定的跨浏览器测试工具。 -
yolpo
An environment to visualize JavaScript code execution in a browser -
RESTful Node.js Starter with Prisma and Typescript
Simple node starter with TypeScript and Prisma
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of nightwatch or a related project?
README
Nightwatch.js
Homepage • Developer Guide • API Reference • About • Blog
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
What's New | Release Notes | Discussions
We're delighted to announce that Nightwatch v2.0 is now available in the public NPM channel. Read the what's new docs page for an overview of the new features, improvements, and important changes.
Install with:
npm i nightwatch
Get started in 60 seconds
1. Install Nightwatch from NPM
# from your existing project's root dir
$ npm init nightwatch
# if you want to initialize a new project
$ npm init nightwatch path/to/new/project
2. Answer a few questions about your preferred setup:
- What is your Language - Test Runner setup?
- Where do you want to run your e2e tests?
- Where you'll be testing on?
- Where do you plan to keep your end-to-end tests?
- What is the base_url of your project?
Nightwatch will do the entire setup for you based on your answers.
3. Run a Demo Test:
Nightwatch comes with a few examples, which are automatically copied to your Nightwatch project during the setup and can also be used as boilerplate to write your own tests on top of them.
You can follow the instructions given at the end of the setup to run your first test with Nightwatch.
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
- for running tests against the Chrome browser;
- download url: https://sites.google.com/chromium.org/driver/.
GeckoDriver
- 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-4.x.x.jar
can 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.9
and prior), starting with version1.0
the Selenium Server 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
Examples below are written using Nightwatch 2.0.
Search for the term "Nightwatch.js" using:
- Google: examples/tests/google.js
- DuckDuckGo: examples/tests/duckDuckGo.js
- Ecosia.org: examples/tests/ecosia.js
Google search using page objects
ToDo App on AngularJs homepage
- examples/tests/angularTest.js
- this contains demo on how to use the new
element()
global api
You can run any of the examples by simply referring to the examples folder like below:
npx nightwatch examples/tests/angularTest.js
CucumberJS examples
The bundled config file which is auto-generated by Nightwatch on the first run (only if one is not already present in the project), contains configuration and examples for running the CucumberJS examples immediately, using the following:
npx nightwatch --env cucumber-js
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.
About Nightwatch
Nightwatch was initially built by @pineviewlabs - an independent software consultancy based in Oslo, Norway, with help from contributors. In mid 2021, Nightwatch has become a part of the @BrowserStack family and it is being developed further at the BrowserStack Open-source Program Office. Read more on our blog.
We are thankful for everyone who supported Nightwatch on the OpenCollective platform.
Licence
*Note that all licence references and agreements mentioned in the nightwatch README section above
are relevant to that project's source code only.