call
Вы можете использовать call
для выполнения любого асинхронного действия в рамках вашей тестовой спецификации.
Эта команда принимает промисы и останавливает выполнение до тех пор, пока промис не будет разрешен.
информация
Поскольку WebdriverIO отказывается от синхронного использования (см. RFC), эта команда больше не так полезна.
Использование
browser.call(callback)
Параметры
Имя | Тип | Детали |
---|---|---|
callback | Function | функция, которая будет вызвана |
Пример
call.js
it('some testing here', async () => {
await browser.url('http://google.com')
// make an asynchronous call using any 3rd party library supporting promises
// e.g. call to backend or db to inject fixture data
await browser.call(() => {
return somePromiseLibrary.someMethod().then(() => {
// ...
})
})
// example for async call to 3rd party library that doesn't support promises
const result = await browser.call(() => {
return new Promise((resolve, reject) => {
someOtherNodeLibrary.someMethod(param1, (err, res) => {
if (err) {
return reject(err)
}
resolve(res)
})
})
})
});