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

Ste*_*sen 7 selenium basic-authentication internet-explorer-10 protractor

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

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

username:password@host.ext
Run Code Online (Sandbox Code Playgroud)

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

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

Ste*_*sen 13

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

HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Internet Explorer/MAIN/FeatureControl/FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
Run Code Online (Sandbox Code Playgroud)

在此注册表项中设置DWORD iexplore.exewith值0可解决此问题.

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

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

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/MAIN/FeatureControl/FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
Run Code Online (Sandbox Code Playgroud)