我正在尝试使用以下代码处理身份验证弹出窗口:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.http.phishy-userpass-length", 255);
profile.setPreference("network.automatic-ntlm-auth.trusted-uris", "x.x.x.x");
driver = new FirefoxDriver(profile);
baseUrl="http://" + login + ":" + password + "@" + url;
driver.get(baseUrl + "/");
Run Code Online (Sandbox Code Playgroud)
当我执行测试时,页面显示身份验证弹出窗口,并且仍然加载直到我单击取消按钮.那一刻,我可以访问下一页,这意味着身份验证成功但仍然始终显示身份验证弹出窗口
有没有人知道在自动化期间使用Selenium或任何其他工具处理浏览器身份验证?
在我的Selenium-Test
(有chromedriver-2.24
)中,我试图通过基本身份验证访问我的网页,并使用以下语句:
WebDriver driver = ...;
driver.get("http://admin:admin@localhost:8080/project/");
Run Code Online (Sandbox Code Playgroud)
但谷歌Chrome在控制台中给出了以下警告:
[弃用]其URL包含嵌入凭据(例如
https://user:pass@host/
)的子资源请求被阻止.有关详细信息,请参阅https://www.chromestatus.com/feature/5669008342777856.
在标记的链接中提到支持被删除:
在子资源请求中删除对嵌入式凭据的支持.(已删除)
我现在的问题是,还有另一种从Selenium进行基本身份验证的方法吗?
java selenium google-chrome basic-authentication selenium-webdriver