Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

wdio-wait-for

webdriverio262.3kMIT3.1.0TypeScript support: included

a library of conditions that are useful for end-to-end tests

wdio, webdriverio, webdriver.io, selenium, waitUntil, expectedConditions, wait, for, expected, conditions, e2e, testing

readme

WDIO Wait For Tests Total npm downloads

wdio-wait-for is a Node.js library for WebdriverIO that supplies a set of common conditions that provides functionalities to wait for certain conditions till a defined task is complete.

Installation

To use wdio-wait-for in your project, run:

npm i -D wdio-wait-for

If you use Yarn, run:

yarn add --dev wdio-wait-for

API

Examples

Import

CommonJS

If you are using WebdriverIO v7 and lower with CommonJS you have to use require to import the package, e.g.:

// import all methods
const EC = require('wdio-wait-for');

browser.waitUntil(EC.alertIsPresent(), { timeout: 5000, timeoutMsg: 'Failed, after waiting for the alert to be present' })
// import specific method
const { alertIsPresent } = require('wdio-wait-for');

browser.waitUntil(alertIsPresent(), { timeout: 5000, timeoutMsg: 'Failed, after waiting for the alert to be present' })

ESM

With TypeScript or WebdriverIO v8 and upwards you can use the import statement to import either all helper methods, e.g.:

// import all methods
import * as EC from 'wdio-wait-for';

browser.waitUntil(EC.elementToBeEnabled('input'), { timeout: 5000, timeoutMsg: 'Failed, after waiting for the element to be enabled' })

or just specific ones, e.g.:

// import specific method
import { elementToBeEnabled } from 'wdio-wait-for';

browser.waitUntil(elementToBeEnabled('input'), { timeout: 5000, timeoutMsg: 'Failed, after waiting for the element to be enabled' })

Wait for alert

This code code snippet shows how to use conditions

browser.waitUntil(alertIsPresent(), { timeout: 5000, timeoutMsg: 'Failed, after waiting for the alert to be present' })

Wait for Elements

This code code snippet shows how to use conditions to wait e.g. on a certain number of elements to exist:

browser.waitUntil(numberOfElementsToBe('.links', 2), { timeout: 5000, timeoutMsg: 'Failed, after waiting for the 2 elements' })

License

MIT licensed.

Author

Yevhen Laichenkov - `elaichenkov@gmail.com<br /> Christian Bromann -mail@bromann.dev`