|
12 | 12 | <img alt="Nightwatch.js Schematic Logo" src=".github/assets/nightwatch-logo.svg" width=300 />
|
13 | 13 | </p>
|
14 | 14 |
|
15 |
| -#### [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) |
| 15 | +#### [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) |
16 | 16 |
|
17 | 17 | ***
|
18 | 18 | 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)).
|
19 | 19 |
|
20 |
| -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. |
| 20 | +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. |
21 | 21 |
|
22 | 22 | ## Nightwatch v2.0-beta
|
23 | 23 |
|
24 |
| -#### [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) |
| 24 | +#### [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) |
25 | 25 |
|
26 |
| -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. |
27 |
| - |
28 |
| -Install with: |
29 |
| -```sh |
30 |
| -npm i nightwatch@next |
31 |
| -``` |
32 |
| - |
33 |
| -## Up & Running in 2 Minutes: |
34 |
| - |
35 |
| -#### 1. Install Nightwatch from NPM |
36 |
| - |
37 |
| -```sh |
38 |
| -$ npm install nightwatch --save-dev |
39 |
| -``` |
40 |
| - |
41 |
| -#### 2. Install Browser Drivers: |
42 |
| - |
43 |
| -##### Geckodriver (Firefox): |
44 |
| -Geckodriver is the WebDriver service used to drive the [Mozilla Firefox Browser](https://www.mozilla.org/en-US/firefox/new/). |
45 |
| - |
46 |
| -```sh |
47 |
| -$ npm install geckodriver --save-dev |
48 |
| -``` |
49 |
| - |
50 |
| -##### Chromedriver: |
51 |
| -Chromedriver is the WebDriver service used to drive the [Google Chrome Browser](https://www.google.com/chrome/). |
52 |
| -```sh |
53 |
| -$ npm install chromedriver --save-dev |
54 |
| -``` |
55 |
| - |
56 |
| -or install everything with one line: |
57 |
| - |
58 |
| -```sh |
59 |
| -$ npm install nightwatch geckodriver chromedriver --save-dev |
60 |
| -``` |
61 |
| - |
62 |
| -#### 3. Run a Demo Test: |
63 |
| - |
64 |
| -Nightwatch comes with an `examples` folder containing a few sample tests. |
65 |
| - |
66 |
| -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. |
67 |
| - |
68 |
| -```sh |
69 |
| -$ npx nightwatch node_modules/nightwatch/examples/tests/ecosia.js |
70 |
| -``` |
| 26 | +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. |
71 | 27 |
|
72 | 28 | ---
|
73 | 29 |
|
74 | 30 | ## Manually Download Browser Drivers
|
75 | 31 |
|
76 | 32 | 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.
|
77 |
| - |
| 33 | + |
78 | 34 | Nightwatch includes support for automatically managing the following services:
|
79 |
| -#### ChromeDriver |
| 35 | +#### ChromeDriver |
80 | 36 | - for running tests against the Chrome browser;
|
81 | 37 | - download url: [https://sites.google.com/a/chromium.org/chromedriver/downloads](https://sites.google.com/a/chromium.org/chromedriver/downloads).
|
82 | 38 |
|
83 |
| -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`: |
84 |
| -```js |
85 |
| -desiredCapabilities : { |
86 |
| - browserName : 'chrome', |
87 |
| - chromeOptions: { |
88 |
| - w3c: false |
89 |
| - } |
90 |
| -} |
91 |
| -``` |
92 |
| - |
93 | 39 | #### GeckoDriver
|
94 | 40 | - for running tests against the Mozilla Firefox browser;
|
95 | 41 | - download url: [https://github.com/mozilla/geckodriver/releases](https://github.com/mozilla/geckodriver/releases).
|
96 |
| - |
97 |
| -#### Selenium Standalone Server |
| 42 | + |
| 43 | +#### Selenium Standalone Server |
98 | 44 | - 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;
|
99 |
| -- 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 |
| 45 | +- 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 |
100 | 46 |
|
101 |
| -> 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. |
| 47 | +> 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. |
102 | 48 |
|
103 | 49 | 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).
|
104 | 50 |
|
105 | 51 | ## Examples
|
106 |
| -Example tests are included in the [`examples`](https://github.com/nightwatchjs/nightwatch/tree/main/examples) folder which demonstrate the usage of several Nightwatch features. |
| 52 | +Examples below are written for **Nightwatch 2.0**. |
| 53 | + |
| 54 | +#### Search for the term "Nightwatch.js" using: |
| 55 | +- Google: [examples/tests/google.js](https://github.com/nightwatchjs/nightwatch/blob/main/examples/tests/google.js) |
| 56 | +- DuckDuckGo: [examples/tests/duckDuckGo.js](https://github.com/nightwatchjs/nightwatch/blob/main/examples/tests/duckDuckGo.js) |
| 57 | +- Ecosia.org: [examples/tests/ecosia.js](https://github.com/nightwatchjs/nightwatch/blob/main/examples/tests/ecosia.js) |
| 58 | + |
| 59 | +#### Google search using page objects |
| 60 | +- [examples/tests/googlePageObject.js](https://github.com/nightwatchjs/nightwatch/blob/main/examples/tests/googlePageObject.js) |
| 61 | + |
| 62 | +#### ToDo App on AngularJs homepage |
| 63 | +- [examples/tests/angularTest.js](https://github.com/nightwatchjs/nightwatch/blob/main/examples/tests/angularTest.js) |
| 64 | +- this contains demo on how to use the new `element()` global api |
| 65 | + |
| 66 | +You can run any of the examples by simply referring to the examples folder like below: |
| 67 | +```sh |
| 68 | +npx nightwatch examples/tests/angularTest.js |
| 69 | +``` |
| 70 | + |
| 71 | +#### CucumberJS examples |
| 72 | + - [examples/cucumber-js/](https://github.com/nightwatchjs/nightwatch/tree/main/examples/cucumber-js) |
| 73 | + |
| 74 | +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: |
| 75 | + |
| 76 | +```sh |
| 77 | +npx nightwatch --env cucumber-js |
| 78 | +``` |
107 | 79 |
|
108 | 80 | 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.
|
109 | 81 |
|
@@ -131,7 +103,10 @@ $ npm run mocha-coverage
|
131 | 103 | ```
|
132 | 104 | and then open the generated _coverage/index.html_ file in your browser.
|
133 | 105 |
|
134 |
| -## Support Nightwatch |
135 |
| -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). |
| 106 | +## About Nightwatch |
| 107 | +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). |
| 108 | + |
| 109 | +We are thankful for everyone who supported Nightwatch on the [OpenCollective](https://opencollective.com/) platform. |
136 | 110 |
|
137 |
| -Please consider supporting Nightwatch by becoming a backer or sponsor on the [OpenCollective](https://opencollective.com/nightwatch/) platform. |
| 111 | +## Licence |
| 112 | +[MIT](https://github.com/nightwatchjs/nightwatch/blob/main/LICENSE.md) |
0 commit comments