Skip to main content

call

You can use call to execute any async action within your test spec. It accepts promises and stops the execution until the promise has been resolved.

info

With WebdriverIO deprecating synchronous usage (see RFC) this command is not very useful anymore.

Usage
browser.call(callback)
Parameters
NameTypeDetails
callbackFunctionfunction to be called
Example
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)
})
})
})
});

Welcome! How can I help?

WebdriverIO AI Copilot