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.
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
- Asynchronous Mode
- Synchronous Mode
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);
});
});
setTimeout.js
it('should change timeout duration for session with long code duration', () => {
browser.setTimeout({
'pageLoad': 10000,
'script': 60000
});
// Execute code which takes a long time
browser.executeAsync((done) => {
console.log('Wake me up before you go!');
setTimeout(done, 59000);
});
});
caution
Synchronous Mode will depcrecated with Node.js v16. With an update to the underlying Chromium version it became technically impossible to provide the same synchronous behavior. We recommend to start transition to asynchronous command execution. For more information, see our RFC.