Internet Explorer 10中使用Selenium进行基本身份验证

时间:2014-05-06 15:21:04

标签: selenium internet-explorer-10 basic-authentication protractor

我们的一个Web应用程序是使用基本身份验证并使用AngularJS进行构建。为了测试这个应用程序,我使用Protractor,它使用Selenium与浏览器进行通信。

在Chrome中,一切正常,基本身份验证很简单:

username:password@host.ext

在Internet Explorer下,具有密码和用户名的URL预计会带来安全风险,因此不允许使用。在Internet Explorer 9之前,可以在注册表(FEATURE_HTTP_USERNAME_PASSWORD_DISABLE)中关闭此设置。为Internet Explorer 10设置此注册表项时,行为会更改(不显示错误,并且在没有用户名和密码的情况下重写URL)但该功能看起来已损坏。 Internet Explorer 11显示与Internet Explorer 10相同的行为。

有没有人有不同的解决方法来绕过这个问题?

1 个答案:

答案 0 :(得分:13)

我升级到Internet Explorer 10也是对64位Internet Explorer的升级。由于某种原因,64位变体使用另一个寄存器密钥:

HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Internet Explorer/MAIN/FeatureControl/FEATURE_HTTP_USERNAME_PASSWORD_DISABLE

在此注册表项中设置值为DWORD的{​​{1}} iexplore.exe可解决此问题。

64位变体也非常慢,切换回32位是解决这种缓慢问题的不错选择。 IE的64位变体仅用于0的64位变体。使用IEDriverServer.exe 32位,可以切换回IE 32位。

要完成,32位的寄存器键是:

IEDriverServer.exe