Protractor测试中取消基本认证

Cancel basic authentitcation in Protractor test

我有一些 AngularJS 应用程序,我想用 Protractor 进行端到端测试。我遇到的问题是页面上有一个 Iframe,它加载了一些信息以显示给用户。此内容受 HTTP 基本身份验证保护。

要测试应用程序,此内容根本不重要。 (我无法登录,因为我没有凭据并且我不想在测试或配置中拥有凭据。)

所以我想以某种方式取消请求,或者单击弹出窗口中的取消按钮:

因为您可以从浏览器对象执行 javascript,所以可以从 dom 中删除 iframe 元素,即使在身份验证请求完成后(删除弹出窗口) ).这解决了问题,因为它不会在量角器测试期间要求进行身份验证。

我把这个代码放在我的 beforeEach:

browser.executeScript(
    'document.querySelector("iframe").remove();'
);

而且效果非常好。