переключатель ‘—ignore-certificate-errors’ не работает для Chrome 15

#ruby #google-chrome #watir #watir-webdriver

#ruby #google-chrome #watir #watir-webdriver

Вопрос:

У меня проблема с автоматизацией Chrome 15.

Если я запускаю Chrome из ruby script с --ignore-certificate-errors переключателем, я по-прежнему получаю запрос об ошибке сертификата.

Я запускаю chrome с помощью следующей команды

  browser = Watir::Browser.new :chrome, :switches => ['--ignore-certificate-errors']
  

В Chrome 14 все работает так, как ожидалось.
Версия Watir-webdriver gem 0.3.8
Если я выполню

 C:UserstestAppDataLocalGoogleChromeApplicationchrome --ignore-certificate-errors
  

Все работает, как ожидалось.

В настоящее время я понизлю версию до Chrome 14, но буду признателен за решение для Chrome 15.

Комментарии:

1. Хорошо, есть некоторые новости. Понижение версии до chrome 14 не помогло. Использование разных версий gem не помогло, и я посмотрел на chromedriver.exe файл. В этой среде все работало по-другому, все работало так, как ожидалось. Единственной разницей был размер файла. файл размером 2 мб и 12 мб. 2 мб старше, но работает как ожидалось, файл размером 12 мб новее, но не работает. Так что это похоже на ошибку chromedriver.

Ответ №1:

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

Он также выводит вас за пределы того же экрана ошибки в IE, для которого нет переключателя для обхода ошибки и для которого, похоже, IE блокирует webdriver от выполнения какой-либо автоматизации, поэтому вы даже не можете закодировать его, чтобы щелкнуть ссылку, чтобы перейти на страницу в любом случае.

Ответ №2:

Единственный ответ на это — заставить проект Selenium / Webdriver исправить это.

Предложенное решение вообще не помогло бы, webdriver автоматически загружает этот переключатель, даже если никакие переключатели не указаны.

В результате появляется следующее сообщение об ошибке. Обратите внимание, что указано 0 переключателей.

 require 'rubygems'
require 'selenium-webdriver'

$RC_URL = 'http://localhost:4444/wd/hub'

capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
            capabilities["browser"] = "chrome"

        end
          $driver = Selenium::WebDriver.for(:remote,
                                        :url => $RC_server,
                                        :desired_capabilities => capabilities)
$driver.navigate.to "http://www.google.com"