Библиотека полезных ожидаемых условий Service
wdio-wait-for это сторонний пакет, для получения дополнительной информации смотрите GitHub | npm
wdio-wait-for это библиотека Node.js для WebdriverIO, которая предоставляет набор общих условий, обеспечивающих функциональность ожидания определенных условий до завершения заданной задачи.
Установка
Чтобы использовать wdio-wait-for
в вашем проекте, выполните:
npm i -D wdio-wait-for
Если вы используете Yarn, выполните:
yarn add --dev wdio-wait-for
API
- alertIsPresent
- numberOfWindowsToBe
- titleContains
- titleIs
- urlContains
- urlIs
- elementToBeClickable
- elementToBeEnabled
- elementToBeSelected
- invisibilityOf
- numberOfElementsToBe
- numberOfElementsToBeLessThan
- numberOfElementsToBeMoreThan
- presenceOf
- sizeOfElementToBe
- stalenessOf
- textToBePresentInElement
- textToBePresentInElementValue
- visibilityOf
- and
- not
- or
Примеры
Импорт
CommonJS
Если вы используете WebdriverIO v7 и ниже с CommonJS, вам нужно использовать require
для импорта пакета, например:
// 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
С TypeScript или WebdriverIO v8 и выше вы можете использовать оператор import
для импорта всех вспомогательных методов, например:
// 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' })
или только конкретных, например:
// 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' })
Ожидание оповещения
Этот фрагмент кода показывает, как использовать условия
browser.waitUntil(alertIsPresent(), { timeout: 5000, timeoutMsg: 'Failed, after waiting for the alert to be present' })
Ожидание элементов
Этот фрагмент кода показывает, как использовать условия для ожидания, например, определенного количества элементов:
browser.waitUntil(numberOfElementsToBe('.links', 2), { timeout: 5000, timeoutMsg: 'Failed, after waiting for the 2 elements' })
Лицензия
Автор
Евгений Лайченков - elaichenkov@gmail.com
Кристиан Броманн - mail@bromann.dev