watir-webdriver и полномочия прокси - PullRequest
0 голосов
/ 24 февраля 2012

Я пытаюсь использовать watir-webdriver / ruby ​​в корпоративной среде, но у меня возникают проблемы с необходимостью ввода учетных данных прокси-сервера для доступа к тестируемой системе.

Я читал различные фрагменты с других форумов, в том числе полезные советы Алистера Скотта по настройке прокси-серверов в целом и сохранению их в профилях. Это, однако, все еще не избавляет меня от реальной необходимости вводить учетные данные прокси.

Два такта, которые я могу придумать, включают

Вариант 1. Каким-то образом сохраните учетные данные таким же образом, как и сам прокси. Э.Г.

profile = Selenium::WebDriver::Firefox::Profile.new
profile.proxy = Selenium::WebDriver::Proxy.new :http => 'myproxy.com:8080', :ssl =>     'myproxy.com:8080'
# COMMAND FOR PROXY CREDENTIALS?
b = Watir::Browser.new :firefox, :profile => profile

Вариант 2. Используйте мой профиль по умолчанию, в котором сохранены учетные данные прокси-сервера, но все же требуется некоторый код веб-драйвера, чтобы нажать кнопку «ОК» (и, возможно, еще больше в диалоговом окне «Я понимаю риски» и т. Д. После)

b = Watir::Browser.new :firefox, :profile => 'default'

Мне пока не разрешено публиковать изображения как новичок, но в диалоговом тексте написано

Прокси [BLAH] запрашивает имя пользователя и пароль. На сайте написано [BLAH] Имя пользователя: Пароль: [OK] [Отмена]

Любые предложения приветствуются.

UPDATE Мне удалось заставить что-то работать, используя профиль по умолчанию и подправив настройку firefox под названием 'signon.autologin.proxy' - установите для этого значение true (нажмите about: config в браузере, filter on ' Прокс 'и он должен появиться на дне)

Тем не менее предпочел бы решение на основе watir-webdriver; -)

1 Ответ

1 голос
/ 24 февраля 2012

Если вам нужен один конкретный прокси-сервер для тестируемой системы и другой для общего использования, я бы посоветовал вам использовать для этого файл PAC. Ссылка на автоматическую настройку браузеров для прокси .

Пример сценария:

function FindProxyForURL(url, host)
{
if (shExpMatch(url, "http://principia.mo.techpaths.com*")) {
return "DIRECT";
}
if (isInNet(myIpAddress(), "192.168.1.0", "255.255.255.0"))
return "PROXY 192.168.1.1:8080";
else
return "DIRECT";
}

Надеюсь, это поможет.

...