Skip to content

Instantly share code, notes, and snippets.

@NicholasRoge
Last active April 19, 2018 16:15
Show Gist options
  • Save NicholasRoge/fc76b261ebe70d021c067879edbc96fb to your computer and use it in GitHub Desktop.
Save NicholasRoge/fc76b261ebe70d021c067879edbc96fb to your computer and use it in GitHub Desktop.
function setPageUnchangedFlag(browser) {
browser.execute(function () {
window.__pageUnchanged = true
})
}
function getPageUnchangedFlag(browser) {
return browser.execute(function () {
return window.__pageUnchanged
}).value
}
exports.getPageReadyState = function () {
return this.execute(function () {
return document.readyState
}).value
}
exports.waitForPageChange = function (timeout) {
setPageUnchangedFlag(this)
this.waitUntil(() => (
!getPageUnchangedFlag(this)
&&
this.getPageReadyState() === 'complete'
), timeout)
}
exports.runAndWaitForPageChange = function (callback, timeout) {
setPageUnchangedFlag(this)
callback()
this.waitUntil(() => (
!getPageUnchangedFlag(this)
&&
this.getPageReadyState() === 'complete'
), timeout)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment