Блог вебразработчика
  • ГЛАВНАЯ
  • ПОДПИСКА

WebDriver и SSL Untrusted certificate

Ноя28
2013
Написал Tatyana

Selenium Driver При тестировании веб-приложений, использующих защищенное https соединение, Вы можете столкнуться с ошибками сертификатов при работе с некоторыми веб-драйверами, в частности, с InternetExplorerDriver. Если существует какая-либо проблема с сертификатом, Вы увидите оповещение «Это соединение является недоверенным». Как и в случае с диалоговыми окнами, при появлении такого сообщения работа веб-драйвера с элементами страницы полностью блокируется и продолжать тестирование ресурса дальше просто невозможно.
Недоверенное соединение

FirefoxDriver и ChromeDriver

На сегодняшний день FirefoxDriver и ChromeDriver (selenium 2.37.1) автоматически принимают все сертификаты по-умолчанию и не выводят оповещений, поэтому никаких дополнительных настроек при работе с ними не требуется. Однако такое поведение для FirefoxDriver уже отмечено как @Deprecated и возможно в скором времени предупреждения сертификатов безопасности будут обрабатываться иначе.

  // Accept untrusted SSL certificates.
  @Deprecated
  public static final boolean ACCEPT_UNTRUSTED_CERTIFICATES = true;

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

  1. Для FirefoxDriver:
    	DesiredCapabilities capability = DesiredCapabilities.firefox();
    	capability.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    	driver = new FirefoxDriver(capability);
    

    или

    	FirefoxProfile profile = new FirefoxProfile();
    	profile.setAcceptUntrustedCertificates(true);
    	driver = new FirefoxDriver(profile);
    
  2. Для ChromeDriver:
    ChromeOptions options = new ChromeOptions();
    options.addArguments("--ignore-certificate-errors");
    driver = new ChromeDriver(options);
    

    В текущей реализации chromedriver.exe опция «—ignore-certificate-errors» передается браузеру по-умолчанию во время инициализации. Для того, чтобы эту функцию отключить можно выполнить следующее (для chromedriver.exe версии не ниже 2.7):

    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOptions("excludeSwitches",
    		Arrays.asList("ignore-certificate-errors"));
    driver = new ChromeDriver(options);
    

    Использование ExperimentalOptions является временным решением, потому как в скором времени должна выйти полноценная поддержка excludeSwitches в ChromeOptions.

Internet Explorer

В случае с Internet Explorer вариант с установкой DesiredCapabilities ACCEPT_SSL_CERTS для тестирования не работает. Для IE нельзя временно поменять расширенные параметры, они задаются навсегда. Изменять их приходится вручную еще до начала тестирования. Но я настоятельно рекомендую не понижать настройки безопасности в IE. После смены настроек, факт их изменения обычно забывается и в результате остается машина с неверно сконфигурированным SSL/TSL в IE.
Sertificate error IE
Для того, чтобы продолжить тестирование в IE после вывода такого предупреждения, нам нужно просто кликнуть по ссылке Continue to this website (not recommended), ее id = «overridelink». Но проблема в том, что после появления этого окна работа InternetExplorerDriver частично заблокирована и мы не можем выполнить обычный click() на элементе. Поэтому для нажатия на ссылку можно использовать javascript:

driver.get("javascript:document.getElementById('overridelink').click();");
  • Нравится
  • Tweet

Опубликовано в Selenium - Помечено ChromeDriver, InternetExplorerDriver, Javascript, Selenium WebDriver
Рассказать всем Twitter Facebook Delicious StumbleUpon E-Mail
← Видеозапись выполнения тестов Selenium
Radisol – рациональное решение для тех, кто хочет зарабатывать в сети →

3 комментариев

  1. Галина's Gravatar Галина
    28.04.2014 at 10:24 | Permalink

    Здравствуйте, подскажите, как бороться с сообщением о «Предупреждении о безопасности» после после клика на «Продолжить открытие этого веб-узла (не рекомендуется)», Если в сообщении сразу активна кнопка нет (((

    • Tatyana's Gravatar Tatyana
      29.04.2014 at 11:41 | Permalink

      Какая версия IE и какое именно сообщение? У меня, к сожалению, не получается это воспроизвести, никаких сообщений после нажатия на «Продолжить» больше нет.

  2. Viktor Chmel's Gravatar Viktor Chmel
    26.06.2014 at 13:57 | Permalink

    Правильно: setExperimentalOption, у вас
    setExperimentalOptions

Свежие записи

  • WebDriver и SSL Untrusted certificate
  • Видеозапись выполнения тестов Selenium
  • Selenium WebDriver: basic авторизация
  • BrowserMob Proxy + Selenium: автоматизация сбора данных о производительности
  • Hibernate 4: UserType пользовательский тип данных (часть 2)

Поиск

Рубрики

  • Hibernate ORM
  • SEO
  • Разное
  • Тестирование
    • JUnit
    • Selenium
    • Thucydides

Метки

Actions AJAX Alert AutoIt ChromeDriver Exceptions ExpectedConditions FindElement FirefoxDriver Hibernate InternetExplorerDriver Java Javascript Jenkins JUnit4 Maven PageFactory Page Object RemoteWebDriver Select Selenium IDE Selenium Server Selenium WebDriver switchTo Thucydides WebDriverWait XPath Автоматизированное тестирование база данных заработок в сети сеть Интернет скорость продвижения сайта статейное продвижение услуги продвижения

Реклама


Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.
Donec in mi a arcu cursus commodo non ut metus. Nunc id eros ut augue consequat tempus ut non ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer pretium, erat sit amet scelerisque euismod, purus lectus convallis dui, eget imperdiet sapien est ut magna. Nullam elementum, tortor vitae pulvinar mattis, orci neque porta tortor, a feugiat nisi lacus quis diam. Ut gravida augue id est rutrum elementum. Mauris eget felis dolor. Phasellus ante ante, porttitor sit amet lobortis ut, suscipit id neque. Fusce hendrerit dolor nec odio eleifend in auctor enim cursus. Nullam fermentum pretium risus, in hendrerit nulla cursus sit amet. Fusce eu tempus elit. Ut tortor velit, aliquam in ornare vel, feugiat sed nibh. Donec fringilla est id odio lacinia vulputate. Donec nulla urna, congue sit amet pretium non, dictum at orci. Fusce neque sem, fermentum eu tempus nec, mattis venenatis sem. Proin scelerisque velit tristique urna mattis adipiscing. Proin mattis faucibus facilisis. Integer non lacus ac ligula accumsan convallis quis molestie erat. Curabitur imperdiet vestibulum vulputate. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Mauris lacus ligula, hendrerit eget suscipit in, sollicitudin nec dui. Suspendisse euismod, lorem pretium gravida rhoncus, enim quam facilisis orci, nec volutpat nisi dolor id lacus. Proin dolor arcu, rutrum eget hendrerit vel, pharetra id elit. Nullam porta euismod suscipit. Pellentesque malesuada consequat sem, et auctor magna aliquam gravida. Nullam blandit dignissim iaculis. Suspendisse non diam nec augue scelerisque iaculis. Nam id dui sed lorem vulputate rhoncus eget eu tellus. In sit amet nisi nunc. Fusce sed aliquet sem. Aliquam sit amet metus metus.

Блог вебразработчика
Функциональное тестирование и продвижение сайтов

Яндекс.Метрика