Я видел, что этот вопрос задавался несколько раз, и было предложено множество решений, но ни одно из них, похоже, не работает для RemoteWebDriver (например, с использованием Selenium Grid). Обычно они сосредоточены на использовании локальных классов ChromeDriver/FirefoxDriver/IEDriver.
Кстати, я использую привязки .NET :).
То, что я хочу сделать, довольно просто (с точки зрения требований). У меня есть настройка Selenium Server, и в настоящее время я использую RemoteWebDriver для выполнения автоматических тестов пользовательского интерфейса на различных сайтах. Эта установка работает нормально.
Однако некоторые сайты используют аутентификацию NTLM/Windows, и нам нужно начать писать для них автоматические тесты. Однако, насколько я могу судить, для этого нет решения.
Я видел следующие «решения», но — если кто-то не поправит меня — они либо не работают последовательно, либо не будут работать с использованием RemoteWebDriver:
- Using the IAlert functionality (like here). However, this isn't implemented in the .NET bindings, and doesn't work for all browsers as far as I can tell.
- Using the Robot API to interact with the popup (like here). But this is for running on your local machine, and not supported by RemoteWebDriver.
- Использование AutoIt, чтобы сделать то же самое, что и Robot API. Однако это не будет работать с использованием RemoteWebDriver.
- Передача учетных данных в URL (например: http://username:[email protected]). Однако это не работает для проверки подлинности Windows — только обычная базовая проверка подлинности HTTP.
На самом деле я не вижу никаких других решений, если кто-нибудь еще не может помочь?
В настоящее время обходным путем является вход на сервер Selenium, переход на сайты в каждом браузере и сохранение учетных данных. Но это не идеально и добавляет уровень ручного взаимодействия к каждому тесту.
Любая помощь будет оценена :).
IAlert
наверняка были реализованы в привязках .NET. Метод называетсяSetAuthenticationCredentials
. Однако вы совершенно правы, что это реализовано не во всех браузерах (только в IE, съеденном на момент написания этой статьи). - person JimEvans   schedule 15.08.2016