Overview

The new .ensure API available since Nightwatch 2.0 is mapping the existing until module from Selenium.

It works similar to the existing .assert library and provides much of the same functionality, but it might offer an extra level of flexibility. It may also be more familiar to users already working with the until api from Selenium..

Basic Example:

describe('demo test for .ensure', function() {

  it('basic test', function(browser) {
    browser
      .url('https://nightwatchjs.org')
      .ensure.titleMatches(/Nightwatch.js/)
      .ensure.elementIsVisible('#index-container')
}); });

Available Assertions

.ableToSwitchToFrame(frame)

Ensures that the Nightwatch WebDriver client is able to switch to the designated frame.

Parameters:
Name Type description
frame Number|WebElement|By The frame identifier.

.alertIsPresent()

Creates a condition that waits for an alert to be opened.

Parameters:
None

.elementIsDisabled(element)

Creates a condition that will wait for the given element to be disabled.

Parameters:
Name Type description
element WebElement The element to test.

.elementIsEnabled(element)

Creates a condition that will wait for the given element to be enabled.

Parameters:
Name Type description
element WebElement The element to test.

.elementIsNotSelected(element)

Creates a condition that will wait for the given element to be deselected.

Parameters:
Name Type description
element WebElement The element to test.

.elementIsNotVisible(element)

Creates a condition that will wait for the given element to be in the DOM, yet not displayed to the user.

Parameters:
Name Type description
element WebElement The element to test.

.elementIsNotVisible(element)

Creates a condition that will wait for the given element to be in the DOM, yet not displayed to the user.

Parameters:
Name Type description
element WebElement The element to test.

.elementIsSelected(element)

Creates a condition that will wait for the given element to be selected.

Parameters:
Name Type description
element WebElement The element to test.

.elementIsVisible(element)

Creates a condition that will wait for the given element to be displayed.

Parameters:
Name Type description
element WebElement The element to test.

.elementLocated(locator)

Creates a condition that will loop until an element is found with the given locator.

Parameters:
Name Type description
locator By The locator to use.

.elementTextContains(element, substr)

Creates a condition that will wait for the given element's text to contain the given substring.

Parameters:
Name Type description
element WebElement The element to test.
substr String The substring to search for.

.elementTextIs(element, text)

Creates a condition that will wait for the given element's text to equal the given text.

Parameters:
Name Type description
element WebElement The element to test.
text String The expected text.

.elementTextMatches(element, regex)

Creates a condition that will wait for the given element's text to match a given regular expression.

Parameters:
Name Type description
element WebElement The element to test.
regex RegExp The regular expression to test against.

.elementsLocated(locator)

Creates a condition that will loop until at least one element is found with the given locator.

Parameters:
Name Type description
locator By The locator to use.

.stalenessOf(element)

Creates a condition that will wait for the given element to become stale. An element is considered stale once it is removed from the DOM, or a new page has loaded.

Parameters:
Name Type description
element WebElement The element that should become stale.

.titleContains(substr)

Creates a condition that will wait for the current page's title to contain the given substring.

Parameters:
Name Type description
substr String The substring that should be present in the page title.

.titleIs(substr)

Creates a condition that will wait for the current page's title to match the given value.

Parameters:
Name Type description
substr String The expected page title.

.titleMatches(regex)

Creates a condition that will wait for the current page's title to match the given regular expression.

Parameters:
Name Type description
regex RegExp The regular expression to test against.

.urlContains(substrUrl)

Creates a condition that will wait for the current page's url to contain the given substring.

Parameters:
Name Type description
substrUrl String The substring that should be present in the current URL.

.urlIs(url)

Creates a condition that will wait for the current page's url to match the given value.

Parameters:
Name Type description
substrUrl String The expected page url.

.urlMatches(regex)

Creates a condition that will wait for the current page's url to match the given regular expression.

Parameters:
Name Type description
regex RegExp The regular expression to test against.