Skip to main content

setTimeout

Sets the timeouts associated with the current session, timeout durations control such behaviour as timeouts on script injection, document navigation, and element retrieval. For more information and examples, see timeouts guide.

info

It is not recommended to set implicit timeouts as they impact WebdriverIO's behavior and can cause errors in certain commands, e.g. waitForExist with reverse flag.

Usage
browser.setTimeout({ implicit, pageLoad, script })
Parameters
NameTypeDetails
timeoutsTimeoutsObject containing session timeout values
timeouts.implicit
optional
NumberTime in milliseconds to retry the element location strategy when finding an element.
timeouts.pageLoad
optional
NumberTime in milliseconds to wait for the document to finish loading.
timeouts.script
optional
NumberScripts injected with execute or executeAsync will run until they hit the script timeout duration, which is also given in milliseconds.
Example
setTimeout.js
it('should change timeout duration for session with long code duration', async () => {
await browser.setTimeout({
'pageLoad': 10000,
'script': 60000
});
// Execute code which takes a long time
await browser.executeAsync((done) => {
console.log('Wake me up before you go!');
setTimeout(done, 59000);
});
});

Welcome! How can I help?

WebdriverIO AI Copilot