Часові обмеження
Кожна команда у WebdriverIO є асинхронною операцією. Запит надсилається на сервер Selenium (або до хмарного сервісу, як-от Sauce Labs), і його відповідь містить результат після того, як дія завершилася або не вдалася.
Тому час є важливим компонентом усього процесу тестування. Коли певна дія залежить від стану іншої дії, вам потрібно переконатися, що вони виконуються у правильному порядку. Часові обме ження відіграють важливу роль при роботі з цими питаннями.
Часові обмеження WebDriver
Час очікування скрипту сесії
Сесія має пов'язаний час очікування скрипту сесії, який визначає час очікування виконання асинхронних скриптів. Якщо не вказано інше, це 30 секунд. Ви можете встановити це часове обмеження таким чином:
await browser.setTimeout({ 'script': 60000 })
await browser.executeAsync((done) => {
console.log('this should not fail')
setTimeout(done, 59000)
})
Час очікування завантаження сторінки сесії
Сесія має пов'язаний час очікування завантаження сторінки сесії, який визначає час очікування завершення завантаження сторінки. Якщо не вказано інше, це 300 000 мілісекунд.
Ви можете встановити це часове обмеження таким чином:
await browser.setTimeout({ 'pageLoad': 10000 })
Ключове слово
pageLoadє частиною офіційної специфікації WebDriver, але може не підтримуватися для вашого браузера (попередня назва -page load).