nightwatch

Integrated end-to-end testing framework written in Node.js and using W3C Webdriver API. Developed at @browserstack

MIT License

Downloads
594.3K
Stars
11.7K
Committers
158

Bot releases are hidden (Show)

nightwatch - v1.0.5

Published by beatfactor over 6 years ago

  • Fixed #1779 - unable to set output folder
  • Fixed #1793 - optimist module missing
nightwatch - v1.0.4

Published by beatfactor over 6 years ago

  • Slightly improved error handling and fixed a problem with passing the correct context to callbacks.
nightwatch - v1.0.1

Published by beatfactor over 6 years ago

A significant update from previous 0.x versions featuring a complete rewrite of the entire codebase and also including some new features. The main focus has been on improving the underlying architecture, therefore this release includes mostly fixes and improvements, but also a few brand new features. Please see the upgrade guide for details on breaking changes and how to migrate from v0.9.

WebDriver Integration

  • ChromeDriver and GeckoDriver Integration - Nightwatch now manages ChromeDriver and GeckoDriver processes directly, similarly to the Selenium Server is managed. The webdriver configuration settings may be used to control this behaviour, e.g.:
"webdriver" : {
  "start_process": true,
  "server_path": "./path/to/chromedriver"
}

For a complete list of available config settings (until the docs get updated on the website), refer to the default settings.

It's important to note that, while the Selenium Server was required with older Nightwatch versions (v0.9 and prior) and continues to work with v1.0, starting with version 1.0 Selenium is completely optional and only required in a Selenium Grid environment.

Page Objects Improvements

  • object-based element selectors optional, object-based selector values in commands - see #1156
  • index property to element objects - allows the option of specifying an index property in element objects for pages or element commands - see #1115

New Mocha Implementation

For cases when Mocha is used as a test runner, a new adapter has been introduced in place of the mocha-nightwatch package. This is however in experimental stages.

New programatic API

There has been some demand for a proper programatic API, through which Nightwatch may be used without a configuration file. Nightwatch exports now a new runTests() public method which may be used for such purposes.

The settings object inherits from the default settings mentioned above.

const Nightwatch = require('nightwatch');

Nightwatch.runTests('/path/to/tests_folder', {
  // various settings
}).then(function() {
  // Tests finished
}).catch(function(err) {
  // An error occurred
});

The programatic API is being used extensively in the unit/integration tests, e.g. in test/src/runner/testRunTestsuite.js

Other Fixes and Improvements:

  • concurrency - improved support for running tests in parallel using test workers and test environements;
  • test hooks - fixed a number of bugs related to test and global hooks;
  • retries - better support for test case and test suite retries;
  • error handling - improved error handling support which should help with identifying problems inside tests.
  • filters - improved support for using filter and exclude properties.

This release also paves the way for our own upcoming, Nightwatch dedicated, cloud testing service - NightCloud.io.

Known Issues and Limitations

  • running in parallel (e.g. with test workers) is not yet available when using GeckoDriver directly, however it is OK for when using Selenium and GeckoDriver combined;
  • socket hang up error while running ChromeDriver, managed by Nightwatch - occasionally ChromeDriver will abort the connection with this error and the process might be left hanging. A possible workaround might be specifying the --no-sandbox cli argument to ChromeDriver, like so:
"desiredCapabilities" : {
  "browserName" : "chrome",
  "chromeOptions": {
    "args" : ["--no-sandbox"]
   }
}
  • GeckoDriver is not yet feature complete regarding WebDriver API support and thus may not be on par with ChromeDriver regarding commands support;
  • Other driver implementations, such as Safari or Edge, have not yet been properly tested, nor integration with cloud testing providers, like BrowserStack or SauceLabs.
nightwatch - v0.9.19

Published by beatfactor almost 7 years ago

nightwatch - v0.9.17

Published by beatfactor almost 7 years ago

#1604 - Fixes compatibility issues with latest Selenium Server

nightwatch - v0.9.16

Published by beatfactor over 7 years ago

  • Fixed #1039 - Unable to explicitly fail test in hook callback
nightwatch - v0.9.15

Published by beatfactor over 7 years ago

  • Fixed #1437 - an issue with mocha-nightwatch causing .only() to stop working
nightwatch - v0.9.14

Published by beatfactor over 7 years ago

  • Upgraded mocha-nightwatch to version 3.2.1
nightwatch - v0.9.13

Published by beatfactor over 7 years ago

  • Added classname attribute to junit report, based on #1160
  • Fixed locateStrategy was not reset when test suite is retried - #1394
nightwatch - v0.9.12

Published by beatfactor almost 8 years ago

  • Fixed a problem with the request retry in case of a timeout.
nightwatch - v0.9.11

Published by beatfactor almost 8 years ago

  • Fixed #1068: Error is silenced when a test file can't be loaded with using tags
  • Fixed #1289 "RangeError: Maximum call stack size exceeded", occurring when a test setting value is set to null
  • Added #1232 New test settings property request_timeout_options for configuring when should a request to the Selenium server reach a timeout and optionally define the number of retries for a timed out request. More info
nightwatch - v0.9.9

Published by beatfactor almost 8 years ago

  • Fixed #1263 - disabling detailed_output hides failure reasons
  • Fixed swallowed exceptions when using Mocha as test runner
nightwatch - v0.9.8

Published by beatfactor about 8 years ago

  • Added support for test groups when using multiple src_folders (#1069)
  • Fixed isLogAvailable command in Microsoft Edge
  • Fixed Selenium cli args for compatibility with selenium standalone server 3 beta (#1152)
nightwatch - v0.9.7

Published by beatfactor about 8 years ago

  • Fixed #470 - disable stdin pipe between selenium java process and nightwatch to address an issue occurring on Linux
  • Fixed #1093 - make test fail when http status of the session request is successful but no sessionId in response
nightwatch - v0.9.6

Published by beatfactor about 8 years ago

  • Fixed #1034 - page urls evaluated at navigate, not init
  • Fixed #1048 - correct and consistent page callback wrapping
  • Fixed #1091 - now catching not found --test error
  • Added callback to page object navigate() - #1046
nightwatch - v0.9.5

Published by beatfactor over 8 years ago

  • Added option default_path_prefix to overwrite selenium's default /wd/hub base url
nightwatch - v0.9.4

Published by beatfactor over 8 years ago

  • Fixed #1019 - incorrect error message when no src_folders passed
  • Fixed #1005 - issue with cli interface causing third party runners to stop working
  • Improved display of failure information in the JUnit xml report
nightwatch - v0.9.3

Published by beatfactor over 8 years ago

  • Fixed #1006 - exceptions during tests are swallowed silently
nightwatch - v0.9.2

Published by beatfactor over 8 years ago

  • Fixed #1002 - assertion failure information not added to JUnit Style Test Report when using third-party assertion frameworks.
nightwatch - v0.9.1

Published by beatfactor over 8 years ago

  • Fixed #997 expect incorrectly reporting element visible
  • Improved output for displaying error during test execution.