Добавление исключений безопасности в Firefox - PullRequest
2 голосов
/ 08 апреля 2011

У меня есть скрипт, выполняющий watir-webdriver (использующий Firefox 4.0), который должен получить доступ к веб-странице, которая, по мнению Firefox, имеет недействительный сертификат.

Проблема в том, что после того, как я принимаю сертификат, Firefox просто возвращается на ту же страницу, как если бы я никогда не принимал его.

Это происходит, только если Firefox был запущен с watir-webdriver. Если я запустлю его вручную, он правильно примет исключение безопасности.

Ответы [ 2 ]

4 голосов
/ 08 апреля 2011

Драйвер Firefox создает новый анонимный профиль для каждого экземпляра, так что он работает в вашем профиле по умолчанию, но не с WebDriver, не удивительно.

WebDriver обычно неплохо справляется с проблемами сертификатов, но есть крайний случай: вы обслуживаете действительный сертификат, который не соответствует имени хоста, с которого он обслуживается (например, производственные сертификаты в тестовой среде). Если это так, вам нужно установить флаг в профиле Firefox:

profile = Selenium::WebDriver::Firefox::Profile.new
profile.assume_untrusted_certificate_issuer = false

browser = Watir::Browser.new(:firefox, :profile => profile)

Если это не поможет, вы также можете просто использовать свой профиль по умолчанию в качестве модели:

browser = Watir::Browser.new(:firefox, :profile => "default")
1 голос
/ 08 апреля 2011

Вы уже попробовали перейти в Сервис-> Параметры -> - Дополнительно-> Вкладка Шифрование Затем нажмите кнопку «Проверка» и снимите флажок «Использовать протокол состояния сертификата в Интернете» (OCSP) ...

Вы можете отключить это программно с помощью привязок Ruby для Selenium например,

require 'selenium-webdriver'
require 'watir-webdriver'
profile = Selenium::WebDriver::Firefox::Profile.new
profile["security.OCSP.enabled"] = 0
driver = Selenium::WebDriver.for :firefox, :profile => profile
browser = Watir::Browser.new(driver)
...