一尘不染

如何使用Java使用Selenium WebDriver处理身份验证弹出窗口

java

我正在尝试使用以下代码处理身份验证弹出窗口:

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 + "/");

当我执行测试时,页面会显示身份验证弹出窗口,并且仍会加载直到我单击“取消”按钮。那一刻,我可以访问下一页,这意味着身份验证成功,但仍然始终显示身份验证弹出窗口


阅读 826

收藏
2020-02-29

共1个答案

一尘不染

警报方法authenticateUsing()使你可以跳过“ Http基本身份验证”框。

WebDriverWait wait = new WebDriverWait(driver, 10);      
Alert alert = wait.until(ExpectedConditions.alertIsPresent());     
alert.authenticateUsing(new UserAndPassword(username, password));

从Selenium 3.4开始,它仍处于beta版本

目前,仅针对 InternetExplorerDriver

2020-02-29