Selenium через прокси с авторизацией
#1
Отправлено 26 августа 2011 - 11:19
Сервер запускался с параметрами:
java -jar selenium-server.jar -Dhttp.proxyHost=my.proxy.com -Dhttp.proxyPort=8080 -Dhttp.proxyUser=my_username -Dhttp.proxyPassword=my_password
При создании объекта указываю *firefoxproxy и *iexploreproxy
Если прокси без авторизации, то работает как надо. Но вот если необходима авторизация, то браузер выкидывает еще одно окно в котором нужно ввести логин и пароль от прокси.
Как сделать так, чтобы логин и пароль от проксей задавались автоматически?
#2
Отправлено 10 января 2013 - 13:17
PROXY_HOST = "host"
PROXY_PORT = 8080
fp = webdriver.FirefoxProfile()
# Direct = 0, Manual = 1, PAC = 2, AUTODETECT = 4, SYSTEM = 5
fp.set_preference("network.proxy.type", 1)
fp.set_preference("network.proxy.http", PROXY_HOST)
fp.set_preference("network.proxy.http_port", PROXY_PORT)
fp.set_preference("network.proxy.ftp", PROXY_HOST)
fp.set_preference("network.proxy.ftp_port", PROXY_PORT)
fp.set_preference("network.proxy.ssl", PROXY_HOST)
fp.set_preference("network.proxy.ssl_port", PROXY_PORT)
fp.set_preference("network.proxy.no_proxies_on", "") # set this value as desired
driver = webdriver.Firefox(firefox_profile=fp)
вместо PROXY_HOST = "host" указываю PROXY_HOST="http://user:password@site.com". Вылезает ошибка
#3
Отправлено 10 января 2013 - 13:27
У меня такая же проблема с авторизацией через прокси, испоьзую конструкцию
PROXY_HOST = "host"
PROXY_PORT = 8080
fp = webdriver.FirefoxProfile()
# Direct = 0, Manual = 1, PAC = 2, AUTODETECT = 4, SYSTEM = 5
fp.set_preference("network.proxy.type", 1)
fp.set_preference("network.proxy.http", PROXY_HOST)
fp.set_preference("network.proxy.http_port", PROXY_PORT)
fp.set_preference("network.proxy.ftp", PROXY_HOST)
fp.set_preference("network.proxy.ftp_port", PROXY_PORT)
fp.set_preference("network.proxy.ssl", PROXY_HOST)
fp.set_preference("network.proxy.ssl_port", PROXY_PORT)
fp.set_preference("network.proxy.no_proxies_on", "") # set this value as desired
driver = webdriver.Firefox(firefox_profile=fp)
вместо PROXY_HOST = "host" указываю PROXY_HOST="http://user:password@site.com". Вылезает ошибка
Для меня эта проблема тоже все еще актуальна. Согласно документации вебдрайвер через прокси с авторизацией сам авторизироваться не можеь. А параметры -Dhttp.proxyUser=my_username -Dhttp.proxyPassword=my_password якобы должны работать только для RC но для меня это тоже не работает.
Единственное натыкался на некие костыли в ява реализации. Но выглядели они неубедительно, раскапывать не стал.
Ну еще можно юзать кастомные профайлы с дополнением autoauth которое логиниться в прокси. Но тоже путь далеко не феншуйный.
#4
Отправлено 11 января 2013 - 11:28
Если я правильно понял, то при открытии ссылки у вас появляется окошко в которое вам нужно ввести логин и пароль, верно? Если да, то есть несколько способов её решения. Я для себя выбрал самый простой (на мой взгляд).
Открыл сайт, ввёл логин/пароль, нажал "запомнить пароль", скопировал этот профиль (работает с Хромом и ФФ, остальные пока не нужны) и запускаю тесты с ним.
Как вариант, ещё можно использовать хттп аутентификацию, но она красиво работает только в хроме, в ФФ появляется окошко авторизации, заполненное правильными данными и из кода нужно жать Энтер
#5
Отправлено 11 января 2013 - 11:32
эм...
Если я правильно понял, то при открытии ссылки у вас появляется окошко в которое вам нужно ввести логин и пароль, верно? Если да, то есть несколько способов её решения. Я для себя выбрал самый простой (на мой взгляд).
Открыл сайт, ввёл логин/пароль, нажал "запомнить пароль", скопировал этот профиль (работает с Хромом и ФФ, остальные пока не нужны) и запускаю тесты с ним.
Как вариант, ещё можно использовать хттп аутентификацию, но она красиво работает только в хроме, в ФФ появляется окошко авторизации, заполненное правильными данными и из кода нужно жать Энтер
Сохранение в профиле довольно негибкий способ. А можно подробнее про хттп аутентификацию?
#6
Отправлено 11 января 2013 - 15:54
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных