如何使用 intern 监听 JS 页面加载事件
How to listen for a JS page load event using intern
被测应用程序在每次页面加载后发出 'page-load' 事件,我想在页面成功加载后截取屏幕截图。尝试使用 Leadfoot 的执行方法来侦听此事件。但这似乎不起作用。
任何人都可以指出是否有办法成功侦听页面加载等事件。
return remote.get(URL)
.execute(function() {
window.addEventListener('page-load', function() {
console.log("Page ready");
}, false);
}, [])
.takeScreenshot().then(function(data) {
recordImage(newAddress, data);
})
鉴于事件异步触发并且您想等到事件触发后再继续,您应该使用 executeAsync
而不是 execute
。除了传递的任何参数之外,executeAsync
添加了一个回调参数,您的代码应该在异步操作完成时调用该参数。
return remote.get(URL)
.executeAsync(function(done) {
window.addEventListener('page-load', function() {
done();
}, false);
}, [])
.takeScreenshot().then(function(data) {
recordImage(newAddress, data);
})
被测应用程序在每次页面加载后发出 'page-load' 事件,我想在页面成功加载后截取屏幕截图。尝试使用 Leadfoot 的执行方法来侦听此事件。但这似乎不起作用。 任何人都可以指出是否有办法成功侦听页面加载等事件。
return remote.get(URL)
.execute(function() {
window.addEventListener('page-load', function() {
console.log("Page ready");
}, false);
}, [])
.takeScreenshot().then(function(data) {
recordImage(newAddress, data);
})
鉴于事件异步触发并且您想等到事件触发后再继续,您应该使用 executeAsync
而不是 execute
。除了传递的任何参数之外,executeAsync
添加了一个回调参数,您的代码应该在异步操作完成时调用该参数。
return remote.get(URL)
.executeAsync(function(done) {
window.addEventListener('page-load', function() {
done();
}, false);
}, [])
.takeScreenshot().then(function(data) {
recordImage(newAddress, data);
})