The Nightwatch 2.1 release adds a few important fixes and several improvements, including upgrade to Selenium 4.1.1. Here's the full list:
Improvements
-
Support for working with Selenium relative locators
describe('sample with relative locators', function () {
before(browser => browser.navigateTo('https://archive.org/account/login'));
it('locates password input', function (browser) {
const passwordElement = locateWith(By.tagName('input')).below(By.css('input[type=email]'));
browser
.waitForElementVisible(passwordElement)
.expect.element(passwordElement).to.be.an('input');
browser.expect.element(passwordElement).attribute('type').equal('password');
});
});
-
New error stack trace output which parses and highlights the source code line – #3071
-
Set network emulation settings in Chrome/Edge with the
.setNetworkConditions()
command (#2996)
browser.setNetworkConditions({
offline: false,
latency: 5, // Additional latency (ms).
download_throughput: 500 * 1024, // Maximal aggregated download throughput.
upload_throughput: 500 * 1024 // Maximal aggregated upload throughput.
});
-
Automate the input of basic auth credentials with the
.registerBasicAuth()
command (Chrome/Edge) (#3116)
browser
.registerBasicAuth('test-username', 'test-password')
.navigateTo('http://browserspy.dk/password-ok.php');
Important Fixes
- Fixed #3079 – unable to clear element in
setValue
command - Fixed #3085 – failing waitFor commands did not failed the test when using the cucumber built-in runner
- Fixed #3124 - multiple terminal windows opening when running in Chrome on Windows
- Fixed #3086 - 'RangeError: Maximum call stack size exceeded' when requiring unknown modules