Перейти к содержимому

Фотография

Selenium через прокси с авторизацией


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 mehanik

mehanik

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 26 августа 2011 - 11:19

Использую сборку selenium-server-standalone-2.4.0.jar и еще несколько младших пробовал.

Сервер запускался с параметрами:
java -jar selenium-server.jar -Dhttp.proxyHost=my.proxy.com -Dhttp.proxyPort=8080 -Dhttp.proxyUser=my_username -Dhttp.proxyPassword=my_password

При создании объекта указываю *firefoxproxy и *iexploreproxy

Если прокси без авторизации, то работает как надо. Но вот если необходима авторизация, то браузер выкидывает еще одно окно в котором нужно ввести логин и пароль от прокси.

Как сделать так, чтобы логин и пароль от проксей задавались автоматически?
  • 0

#2 switoch

switoch

    Новый участник

  • Members
  • Pip
  • 1 сообщений

Отправлено 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". Вылезает ошибка
  • 0

#3 mehanik

mehanik

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 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 которое логиниться в прокси. Но тоже путь далеко не феншуйный.
  • 0

#4 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 11 января 2013 - 11:28

эм...
Если я правильно понял, то при открытии ссылки у вас появляется окошко в которое вам нужно ввести логин и пароль, верно? Если да, то есть несколько способов её решения. Я для себя выбрал самый простой (на мой взгляд).
Открыл сайт, ввёл логин/пароль, нажал "запомнить пароль", скопировал этот профиль (работает с Хромом и ФФ, остальные пока не нужны) и запускаю тесты с ним.
Как вариант, ещё можно использовать хттп аутентификацию, но она красиво работает только в хроме, в ФФ появляется окошко авторизации, заполненное правильными данными и из кода нужно жать Энтер
  • 0

#5 mehanik

mehanik

    Новый участник

  • Members
  • Pip
  • 8 сообщений

Отправлено 11 января 2013 - 11:32

эм...
Если я правильно понял, то при открытии ссылки у вас появляется окошко в которое вам нужно ввести логин и пароль, верно? Если да, то есть несколько способов её решения. Я для себя выбрал самый простой (на мой взгляд).
Открыл сайт, ввёл логин/пароль, нажал "запомнить пароль", скопировал этот профиль (работает с Хромом и ФФ, остальные пока не нужны) и запускаю тесты с ним.
Как вариант, ещё можно использовать хттп аутентификацию, но она красиво работает только в хроме, в ФФ появляется окошко авторизации, заполненное правильными данными и из кода нужно жать Энтер



Сохранение в профиле довольно негибкий способ. А можно подробнее про хттп аутентификацию?
  • 0

#6 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 11 января 2013 - 15:54

http://login:password@site.com

а чего есть негибкого в работе с профилями?
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных