我有一个自定义页面
window.addEventListener("error", ...)
逻辑。我想测试一下它是否有效,唯一真正的方法是抛出一个错误。
我试过这个:
await browser.executeScript("throw new Error();");
…但硒本身看到了错误,并认为这是一个例外。好的。
JavascriptError: Error
at Object.throwDecodedError (node_modules/selenium-webdriver/lib/error.js:550:15)
at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:542:13)
at Executor.execute (node_modules/selenium-webdriver/lib/http.js:468:26)
接下来,尝试异步执行此操作:
await browser.executeScript(() => {
setTimeout(() => { throw new Error(); }, 1);
});
…但是页面本身没有注意到错误(是的,我已经验证了在开发工具中抛出一个会触发预期的处理)。
接下来,我尝试使用异步脚本来调度错误,然后使用回调:
await browser.executeAsyncScript((callback) => {
setTimeout(
() => {
setTimeout(callback, 1);
throw new Error();
},
1);
});
…但是页面本身仍然没有注意到错误。
我是不是错过了什么?