From bdb63642988f0791872491457378216d13b8fdca Mon Sep 17 00:00:00 2001 From: Andrei Rusu Date: Wed, 15 Dec 2021 19:57:15 +0100 Subject: [PATCH] Update README.md --- README.md | 111 +++++++++++++++++++++--------------------------------- 1 file changed, 43 insertions(+), 68 deletions(-) diff --git a/README.md b/README.md index 231c373dd5..8f909cd375 100644 --- a/README.md +++ b/README.md @@ -12,98 +12,70 @@ Nightwatch.js Schematic Logo

-#### [Homepage](https://nightwatchjs.org) • [Getting Started](https://nightwatchjs.org/gettingstarted) • [Developer Guide](https://nightwatchjs.org/guide) • [API Reference](https://nightwatchjs.org/api) • [About](https://nightwatchjs.org/about) +#### [Homepage](https://nightwatchjs.org) • [Developer Guide](https://nightwatchjs.org/guide) • [API Reference](https://nightwatchjs.org/api) • [About](https://nightwatchjs.org/about) • [Blog](https://nightwatchjs.org/blog) *** Automated end-to-end testing framework powered by [Node.js](http://nodejs.org/) and using [W3C Webdriver](https://www.w3.org/TR/webdriver/) (formerly [Selenium](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol)). -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 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-beta -#### [What's New](https://v2.nightwatchjs.org/guide/getting-started/whats-new-v2.html) | [Release Notes](https://github.com/nightwatchjs/nightwatch/releases/tag/v2.0.0-beta.1) | [Discussions](https://github.com/nightwatchjs/nightwatch/discussions) +#### [What's New](https://v2.nightwatchjs.org/guide/getting-started/whats-new-v2.html) | [Release Notes](https://github.com/nightwatchjs/nightwatch/releases/tag/v2.0.0-beta.1) | [Discussions](https://github.com/nightwatchjs/nightwatch/discussions) -We're delighted to announce that [Nightwatch v2.0](https://github.com/nightwatchjs/nightwatch/releases/tag/v2.0.0-beta.1) is now in beta and available in NPM. Read the [blog post](https://nightwatchjs.org/blog/nightwatch-v2-alpha-is-released.html) about the new features and changes. - -Install with: -```sh -npm i nightwatch@next -``` - -## Up & Running in 2 Minutes: - -#### 1. Install Nightwatch from NPM - -```sh -$ npm install nightwatch --save-dev -``` - -#### 2. Install Browser Drivers: - -##### Geckodriver (Firefox): -Geckodriver is the WebDriver service used to drive the [Mozilla Firefox Browser](https://www.mozilla.org/en-US/firefox/new/). - -```sh -$ npm install geckodriver --save-dev -``` - -##### Chromedriver: -Chromedriver is the WebDriver service used to drive the [Google Chrome Browser](https://www.google.com/chrome/). -```sh -$ npm install chromedriver --save-dev -``` - -or install everything with one line: - -```sh -$ 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](https://ecosia.org), searches for the term "nightwatch", and verifies if the term first result is the Nightwatch.js website. - -```sh -$ npx nightwatch node_modules/nightwatch/examples/tests/ecosia.js -``` +We're delighted to announce that [Nightwatch v2.0](https://github.com/nightwatchjs/nightwatch/releases/tag/v2.0.0-beta.2) is now in beta and available in NPM. Read the [what's new](https://v2.nightwatchjs.org/guide/getting-started/whats-new-v2.html) docs page for an overview of the new featues, improvements, and important changes. --- ## Manually Download Browser Drivers Nightwatch uses a [WebDriver](https://www.w3.org/TR/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 +#### ChromeDriver - for running tests against the Chrome browser; - download url: [https://sites.google.com/a/chromium.org/chromedriver/downloads](https://sites.google.com/a/chromium.org/chromedriver/downloads). -Starting with __version 75__, Chromedriver has [W3C Webdriver](https://www.w3.org/TR/webdriver1) protocol enabled by default. If you'd like to stick to the JSONWire for now adjust the `chromeOptions`: -```js -desiredCapabilities : { - browserName : 'chrome', - chromeOptions: { - w3c: false - } -} -``` - #### GeckoDriver - for running tests against the Mozilla Firefox browser; - download url: [https://github.com/mozilla/geckodriver/releases](https://github.com/mozilla/geckodriver/releases). - -#### Selenium Standalone Server + +#### Selenium Standalone Server - allows managing multiple browser configurations in one place and also to make use of the [Selenium Grid](https://github.com/SeleniumHQ/selenium/wiki/Grid2) service; -- the selenium server jar file `selenium-server-standalone-3.x.x.jar` can be downloaded from the Selenium releases page: https://selenium-release.storage.googleapis.com/index.html +- 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 version `1.0` Selenium is no longer necessary. +> 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` the Selenium Server is no longer necessary. Specific WebDriver setup guides can be found on the [Docs website](https://nightwatchjs.org/gettingstarted/browser-drivers-setup/). Legacy Selenium drivers setup guides along with debugging instructions can be found on the [**Wiki**](https://github.com/nightwatchjs/nightwatch/wiki). ## Examples -Example tests are included in the [`examples`](https://github.com/nightwatchjs/nightwatch/tree/main/examples) folder which demonstrate the usage of several Nightwatch features. +Examples below are written for **Nightwatch 2.0**. + +#### Search for the term "Nightwatch.js" using: +- Google: [examples/tests/google.js](https://github.com/nightwatchjs/nightwatch/blob/main/examples/tests/google.js) +- DuckDuckGo: [examples/tests/duckDuckGo.js](https://github.com/nightwatchjs/nightwatch/blob/main/examples/tests/duckDuckGo.js) +- Ecosia.org: [examples/tests/ecosia.js](https://github.com/nightwatchjs/nightwatch/blob/main/examples/tests/ecosia.js) + +#### Google search using page objects +- [examples/tests/googlePageObject.js](https://github.com/nightwatchjs/nightwatch/blob/main/examples/tests/googlePageObject.js) + +#### ToDo App on AngularJs homepage +- [examples/tests/angularTest.js](https://github.com/nightwatchjs/nightwatch/blob/main/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: +```sh +npx nightwatch examples/tests/angularTest.js +``` + +#### CucumberJS examples + - [examples/cucumber-js/](https://github.com/nightwatchjs/nightwatch/tree/main/examples/cucumber-js) + +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: + +```sh +npx nightwatch --env cucumber-js +``` You can also check out the [nightwatch-website-tests](https://github.com/nightwatchjs/nightwatch-website-tests) repo for example tests against the [nightwatchjs.org](https://nightwatchjs.org) website. @@ -131,7 +103,10 @@ $ npm run mocha-coverage ``` and then open the generated _coverage/index.html_ file in your browser. -## Support Nightwatch -Nightwatch is built by [@pineviewlabs](https://github.com/pineviewlabs/) - an independent software consultancy based in Oslo, Norway, with help from [our contributors](https://github.com/nightwatchjs/nightwatch/graphs/contributors). +## About Nightwatch +Nightwatch was initially built by [@pineviewlabs](https://github.com/pineviewlabs/) - an independent software consultancy based in Oslo, Norway, with help from [contributors](https://github.com/nightwatchjs/nightwatch/graphs/contributors). In mid 2021, Nightwatch has become a part of the [@BrowserStack](https://github.com/browserstack) family and it is being developed further at the BrowserStack Open-source Program Office. Read more on [our blog](https://nightwatchjs.org/blog/nightwatch-has-joined-the-browserstack-family.html). + +We are thankful for everyone who supported Nightwatch on the [OpenCollective](https://opencollective.com/) platform. -Please consider supporting Nightwatch by becoming a backer or sponsor on the [OpenCollective](https://opencollective.com/nightwatch/) platform. +## Licence +[MIT](https://github.com/nightwatchjs/nightwatch/blob/main/LICENSE.md)