#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"