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.
information
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
Name | Type | Details |
---|---|---|
timeouts | Timeouts | Object containing session timeout values |
timeouts.implicit optional | Number | Time in milliseconds to retry the element location strategy when finding an element. |
timeouts.pageLoad optional | Number | Time in milliseconds to wait for the document to finish loading. |
timeouts.script optional | Number | Scripts 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);
});
});