Обычная проверка подлинности с помощью Selenium в Internet Explorer 10
Одним из наших веб-приложений является использование базовой аутентификации и сборка с 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 ответ
Мое обновление до Internet Explorer 10 также было обновлением до 64-разрядного Internet Explorer. И по какой-то причине в 64-битных вариантах используется другой ключ регистра:
HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Internet Explorer/MAIN/FeatureControl/FEATURE_HTTP_USERNAME_PASSWORD_DISABLE
Настройка DWORD
iexplore.exe
со значением 0
в этом разделе реестра исправлена проблема.
64-битный вариант также очень медленный, и переключение обратно на 32-битный является хорошим выбором, чтобы исправить эту медлительность. 64-битный вариант IE используется только с 64-битным вариантом IEDriverServer.exe
, С помощью IEDriverServer.exe
32-разрядная версия позволяет вам вернуться к 32-разрядной версии IE.
Для завершения ключ регистрации для 32-разрядного:
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/MAIN/FeatureControl/FEATURE_HTTP_USERNAME_PASSWORD_DISABLE