All Versions
18
Latest Version
Avg Release Cycle
13 days
Latest Release
5 days ago

Changelog History
Page 1

  • v1.3.2

    December 05, 2019
  • v1.3.1

    November 23, 2019
    • 🛠 Fixed #2255 - callback not being called when errors occurred during an element command;
    • Added improvements for the auto-generated nightwatch.conf.js file
  • v1.3.0

    November 22, 2019

    🆕 New features

    BDD describe Interface

    ➕ Added BDD describe interface for writing tests. No further configuration is necessary and both exports and bdd interfaces can be mixed together (though not in the same file).
    More details

    assert.not Assertions

    ⚡️ You can use .not assertions for every existing and custom assertion. Custom assertions will require to be updated to the new interface in order to make use of .not. Refer to the Custom assertions docs for details.

    module.exports = { demoTest(browser) { browser .assert.not.elementPresent('.not\_present') // previously .assert.elementNotPresent() .assert.not.visible('.non\_visible'); // previously .assert.hidden() .assert.not.urlContains('http://'); // ... } }
    

    🆕 New APIs

    Commands:

    Assertions:

    Expect:

    👌 Improvements

    🆕 New CLI options:

    • 💻 --headless - Launch the browser (Chrome or Firefox) in headless mode.
    • --timeout - Set the global timeout for assertion retries before an assertion fails. The various timeout values are defined in the Globals section.

    More details

    nightwatch Test Runner

    • 🔧 Auto-generated configuration: if no existing config file is found in the current folder, Nightwatch will generate a nightwatch.conf.js config file, based on the operation system and existing driver packages. More details
    • ➕ Added support for http keepAlive which should be enabled when using remote testing services. See Configuration for details.
    • ➕ Added several improvements for running tests against cloud testing provider Browserstack; see also an example configuration for using Browserstack.

    🛠 Fixes

    • 🛠 Fixed #2219 - an issue with locating elements from page object sections using non @-based element identifiers
    • 🛠 Fixed getElementSize and getLocation commands for w3c webdriver clients - #fd10c9b
  • v1.2.4

    September 20, 2019
    • Added the module path of the testsuite in the test results object - #2207
  • v1.2.3

    September 19, 2019

    🛠 Fixed #2190 - test error/failure stack traces weren't showing correctly

  • v1.2.2

    September 01, 2019
    • Added - new configuration settings to for fine tuning the Webdriver server process:

    • 📊 status_poll_interval - Interval (in ms) to use between status ping checks when checking if the Webdriver server is up and running

    • max_status_poll_tries - Maximum number of ping status check attempts when checking if the Webdriver server is up and running before returning a timeout error.

    • process_create_timeout - The entire time (in ms) to wait for the Node.js process to be created and running (default is 2 min), including spawning the child process and checking the status

    🔧 More details

  • v1.2.1

    August 12, 2019

    🆕 New commands

    ➕ Added several new commands in-line with the W3C Webdriver API:

    👌 Improvements

    • waitForElementVisible doesn't throw an error anymore if the element cannot be found - #2148
    • Added w W3C Webdriver API compatibility support for .timeouts() command;
    • Added suppressNotFoundErrors option for element selector properties to enable suppressing NoSuchElement errors when element is not found for commands such as .click() or .getText() etc.

    🛠 Fixes

    • 🛠 Fixed #2155 - an issue with page object element selectors
    • 🛠 Fixed #2165 - an issue with page object relative urls
    • 🛠 Fixed #1301 - an issue with using .perform() with async callback
    • 🛠 Fixed #2168 - setWindowSize for geckodriver
  • v1.2.0

    August 12, 2019
  • v1.1.13

    June 30, 2019
    • 🛠 Fixed #2141 - .verify assertions not working correctly
  • v1.1.12

    June 10, 2019
    • 🛠 Fixed #2123 - the .init() command was broken starting with v1.1.8
    • 🛠 Fixed #2118 - Set default POST body to be empty JSON in order to use chromedriver 75
      If using Chromedriver 75 you need to set the following capabilities in your config:

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

    0️⃣ Chromedriver 75 has W3C Webdriver protocol enabled by default, however we recommend sticking to the JSONWire for now as some endpoints aren't implemented yet (e.g. /displayed). If using the default w3c webdriver mode, make sure to adjust the config like so:

    { capabilities: { browserName : 'chrome', }, webdriver: { use\_legacy\_jsonwire: false } }