HTTP Basic Auth и Proxy для селен-вебдрайвера (привязки ruby) - PullRequest
1 голос
/ 22 декабря 2009

Я пытаюсь использовать selenium-webdriver [ruby bindings] [1] для доступа к внутреннему веб-сайту, для которого требуется настроить прокси, и HTTP Basic Auth.

В настоящее время у меня есть:

  require "selenium-webdriver"
  driver = Selenium::WebDriver.for :firefox
  driver.navigate.to "http://my-internal-site.com"

Но это не удается из-за проблем с прокси и http-аутентификацией. Если я добавлю свое имя пользователя и пароль к URL-адресу (т.е. http://username:password@site.com), я смогу выполнить базовую аутентификацию на другом сайте, для которого не требуется прокси-сервер, но это не кажется идеальным решением.

Есть предложения?

Ответы [ 4 ]

2 голосов
/ 22 декабря 2009

К сожалению, выполнение http://username:password@site.com было стандартным способом, но все больше и больше браузеров блокировали этот подход. Патрик Лайтбоди из BrowserMob обсудил в компании блог о том, как заставить его работать.

0 голосов
/ 05 августа 2018

Если вы используете Google-Chrome, попробуйте создать собственное расширение и импортировать его через ChromeOptions. Он поддерживает http(s), который не поддерживается browsermob_proxy в Chrome. В случае тестирования перенаправлений, это единственный способ, который поможет вам ...

Для получения подробной информации, проверьте этот пост https://devopsqa.wordpress.com/2018/08/05/handle-basic-authentication-in-selenium-for-chrome-browser/

0 голосов
/ 04 февраля 2012

Я пробовал подход с AutoIt, и он работал до Selenium 2.18.0, потому что они реализовали UnhandledAlertException, который будет брошен, как только как всплывающее окно прокси входа в систему. если вы попытаетесь поймать его, вы получите драйвер = ноль, вам нужно будет зациклить попытка создать драйвер и довериться скрипту AutoIt, чтобы убить окно.

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

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

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

...