如何使用JAVA处理Selenium Webdriver中Internet Explorer中的服务器身份验证弹出窗口?

如何使用JAVA处理Selenium Webdriver中Internet Explorer中的服务器身份验证弹出窗口?,java,internet-explorer,selenium-webdriver,Java,Internet Explorer,Selenium Webdriver,我想在具有服务器身份验证的URl上运行自动测试用例。在Firefox和Chrome中,我通过如下URl进行处理: http://username:password@url.com 它在IE(Windows 8.1)中不起作用。我已经在谷歌上搜索过了,但是运气不好 在注册表中进行一些更改后,可以在IE中获取服务器身份验证弹出窗口。但现在请告诉我如何使用Selenium WebDriver处理服务器身份验证弹出窗口。Internet Explorer不支持网站地址(HTTP或HTTPS URL)中的

我想在具有服务器身份验证的URl上运行自动测试用例。在Firefox和Chrome中,我通过如下URl进行处理:

http://username:password@url.com

它在IE(Windows 8.1)中不起作用。我已经在谷歌上搜索过了,但是运气不好


在注册表中进行一些更改后,可以在IE中获取服务器身份验证弹出窗口。但现在请告诉我如何使用Selenium WebDriver处理服务器身份验证弹出窗口。

Internet Explorer不支持网站地址(HTTP或HTTPS URL)中的用户名和密码。看

但是你可以启用它。在Windows注册表中为创建DWORD iexplore.exe/0

HKEY\u本地\u计算机/软件/Wow6432Node/Microsoft/Internet Explorer/MAIN/FeatureControl/FEATURE\u HTTP\u用户名\u密码\u禁用

HKEY_本地_机器/软件/微软/互联网
Explorer/MAIN/FeatureControl/FEATURE\u HTTP\u USERNAME\u PASSWORD\u DISABLE

它是什么样的弹出窗口?一个模态对话框还是一个简单的警报?请尝试hirtenfelder的建议,如果不工作,请尝试使用Robot类。我个人不认为机器级注册表黑客是完成测试通过的可靠方法。在现实世界中,这样的问题会再次困扰你。我认为您最好使用
\u driver.SwitchTo().Window(handle)
(或
\u driver.SwitchTo().Frame(targetFrame)
(如果更适用)路径,以实现您的目标,并在更广泛的浏览器中实现更大的覆盖范围。@jimtollan同样,模式对话框窗口不支持driver.SwitchTo方法。我认为我们应该使用机器人类或Sikuli或任何其他工具来处理它。谢谢你的回复。我已经试过了。在这些更改之后,在访问URL时,它会在身份验证弹出窗口中询问用户名和密码。解决了Internet Explorer的基本身份验证问题中所述的解决方案。我做的第二个配置是,为所有区域启用相同值的保护模式(启用或禁用)。或者,我将标志
ignoreProtectedModeSettings
设置为
true
。但这是另一个话题。根据您的描述,如果您在应用程序中禁用基本身份验证,我们是否可以假定测试运行?