Получение Selenium для входа через всплывающее окно .htaccess - PullRequest
3 голосов
/ 18 января 2010

Я использую WebDriver (Selenium2) с Java на Linux. Я использую WebDriver для автоматического заполнения формы и отправки ее. Я сталкиваюсь с проблемой с сайтами htaccess, то есть я не могу получить доступ к сайту htaccess через WebDriver.

Кто-нибудь может мне помочь в этом отношении?

Спасибо заранее, Сунил

Ответы [ 5 ]

11 голосов
/ 18 января 2010

С Selenium FAQ (который сейчас недоступен):

Как использовать Selenium для входа на сайты, требующие базовой HTTP-аутентификации (где браузер создает модальное диалоговое окно с запросом учетных данных)?

Используйте имя пользователя и пароль в URL, как описано в RFC 1738: Тип теста
открыть http://myusername:myuserpassword@myexample.com/blah/blah/blah

Обратите внимание, что в Internet Explorer это не будет работать, поскольку Microsoft отключила имена пользователей и пароли в URL-адресах в IE. Однако вы можете добавить эту функцию обратно, изменив реестр, как описано в статье базы знаний. Установите для DWORD «iexplore.exe» значение 0 в HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_HTTP_USERNAME_PASSWORD_DISABLE.

Если вы не хотите изменять реестр самостоятельно, вы всегда можете просто использовать Selenium Remote Control, который автоматически устанавливает этот раздел реестра для вас с версии 0.9.2.

1 голос
/ 18 января 2010

Для WebDriver существует острая проблема с поддержкой базовой и дайджест-аутентификации HTTP. Если вы хотите получать уведомления об изменениях, я предлагаю проголосовать за проблему по номеру http://code.google.com/p/selenium/issues/detail?id=34

0 голосов
/ 28 июля 2014

Я использую это, и это работает для меня.

public void login(String username, String password){
        WebDriver driver = getDriver();
        String URL = "http://" + username + ":" + password + "@" + "link";
        driver.get(URL);
        driver.manage().window().maximize();
    }
0 голосов
/ 18 апреля 2012

Решение из FAQ по Selenium не работает - теперь FireFox добавляет подсказку для подтверждения того, что пользователь хочет пройти аутентификацию, у которой нет задачи Selenium, которая была для меня очевидной.

"Вы собираетесь войти на сайт" my.domain.com "с именем пользователя" myuser "

Самое дешевое решение - вручную ввести учетные данные один раз с профилем браузера, который использует сеанс селена, и позволить браузеру сохранить их. (Я сделал это в середине теста) Также добавлено целочисленное значение профиля network.http.phishy-userpass-length; 255

Этот другой вопрос указал мне на способ сделать это программно, то есть с помощью Selenium 2

0 голосов
/ 24 июля 2011

Пока не будет полной поддержки этого в браузерах для WebDriver (или Selenium), альтернативным вариантом является интеграция средств автоматизации с графическим интерфейсом рабочего стола, где инструмент графического интерфейса рабочего стола будет автоматизировать часть аутентификации HTTP. Вы можете найти некоторые примеры для этого или загрузки файлов, загрузки, если вы ищете в Google такие вещи, как "Selenium AutoIt" ​​и т. Д.

Для кроссплатформенного решения замените AutoIt на Sikuli или что-то подобное.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...