我有一些AngularJS应用程序,我希望使用Protractor进行端到端测试。我遇到的问题是页面上有一个Iframe,它会加载一些信息以显示给用户。此内容受HTTP基本身份验证保护。
要测试应用程序,此内容根本不重要。 (我无法登录,因为我没有凭据,而且我不想在测试或配置中拥有凭据。)
所以我想以某种方式取消请求,或点击弹出窗口中的取消按钮:
答案 0 :(得分:1)
因为您可以从浏览器对象执行javascript,所以即使在完成身份验证请求(删除弹出窗口)之后,也可以从dom中删除iframe
元素。这解决了这个问题,因为它不会要求在量角器测试期间进行身份验证。
我将此代码放在beforeEach
:
browser.executeScript(
'document.querySelector("iframe").remove();'
);
它就像一个魅力。