Add timeout to waitUntilXWindowHandles e2e helper fn

feature/default_network_editable
Whymarrh Whitby 6 years ago
parent 921125b7fd
commit 2902fa948f
  1. 19
      test/e2e/beta/helpers.js

@ -85,11 +85,22 @@ async function openNewPage (driver, url) {
await delay(1000)
}
async function waitUntilXWindowHandles (driver, x) {
async function waitUntilXWindowHandles (driver, x, delayStep = 1000, timeout = 5000) {
let timeElapsed = 0
async function _pollWindowHandles () {
const windowHandles = await driver.getAllWindowHandles()
if (windowHandles.length === x) return
await delay(1000)
return await waitUntilXWindowHandles(driver, x)
if (windowHandles.length === x) {
return
}
await delay(delayStep)
timeElapsed += delayStep
if (timeElapsed > timeout) {
throw new Error('waitUntilXWindowHandles timed out polling window handles')
} else {
await _pollWindowHandles()
}
}
return await _pollWindowHandles()
}
async function switchToWindowWithTitle (driver, title, windowHandles) {

Loading…
Cancel
Save