Перейти к содержимому

Фотография

Selenium WebDriver + Geckodriver logging


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 13

#1 Tuttamko

Tuttamko

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 09 августа 2017 - 15:04

Всем привет! 

Столкнулся с такой проблемой, что после обновления FireFox с 54 версии до 55 Geckodriver (0.18) начал сыпать в консоль логи с DEBUG'ами. Засоряет все информативные сообщения которые у меня выводились при тесте. Полез читать интернеты, но из полезного нашёл только то, что не я один с этим столкнулся. Судя по всему, там существует некий loglevel который почему то переключился в режим debug и логирует вообще всё подряд. Откатился на 54ю, стало нормально. 

 

Это было небольшое вступление. Вопросы у меня заключаются в следующем:

 

1. Как отключить логирование всего подряд при использовании geckodriver на последней версии FF?

2. Как заставить Selenium + Geckodriver игнорировать недоверенные и самоподписанные сертификаты? В текущей реалии я использую:

 

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("acceptInsecureCerts", true);
WebDriver driver = new FirefoxDriver(capabilities);
 
Но судя по всему решение первого вопроса тоже кроется в установке дополнительных setCapability для логирования. Как инициализировать драйвер с несколькими capabilities ?
Если я отключаю acceptInsecureCerts, то у меня при открытии FF всё повисает на странице о добавлении в исключение сертификата. Исключение почему то он не сохраняет. Читал тут же где то на форуме что дело в профиле который использует FF, но я так и не понял как мне прикрутить это к моему тесту.
Пишу на java, если что.
 
Прошу прощения за сумбур, первый раз так сказать.

  • 0

#2 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 10 августа 2017 - 07:46

Хм, а разве через

FirefoxOptions option = new FirefoxOptions().setLogLevel(тут можно Level.OFF поставить);

не решается проблема ?

 

Как я помню по дефолту должен быть Level.INFO, если у тебя debug, то это явно баг в гекодрайвере


  • 0

#3 Tuttamko

Tuttamko

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 10 августа 2017 - 08:24

Хм, а разве через

FirefoxOptions option = new FirefoxOptions().setLogLevel(тут можно Level.OFF поставить);

не решается проблема ?

 

Как я помню по дефолту должен быть Level.INFO, если у тебя debug, то это явно баг в гекодрайвере

 

Правильно ли я понимаю, что я должен потом инициализировать Webdriver driver с этим самым options?

Но у меня как я уже указывал выше driver инициализируется с capabilities для акцепта сертификатов. Можно ли как то инициализировать драйвер и с опцией логирования и с опцией сертификатов?

 

На счёт багов не уверен, но выглядит весьма странно. Уровень логирования меняется в зависимости от версии браузера. Что странно как то.


  • 0

#4 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 10 августа 2017 - 08:57

Да, был баг

https://github.com/S...ium/issues/3943

 

Но он уже закрыт

FirefoxOptions options = new FirefoxOptions();
options.setLogLevel(Level.OFF);
capabilities.setCapability("moz:firefoxOptions", options);

  • 0

#5 Tuttamko

Tuttamko

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 10 августа 2017 - 11:32

 

Да, был баг

https://github.com/S...ium/issues/3943

 

Но он уже закрыт

FirefoxOptions options = new FirefoxOptions();
options.setLogLevel(Level.OFF);
capabilities.setCapability("moz:firefoxOptions", options);

Баг то был, только он был в 16й версии. А актуальная на сколько я понял 18я. В любом случае спасибо!


  • 0

#6 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 10 августа 2017 - 11:58

Баг - да. Давно был

 

Так а что ? Как я написал не получается логирование отключить ?


  • 0

#7 Tuttamko

Tuttamko

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 10 августа 2017 - 12:35

Баг - да. Давно был

 

Так а что ? Как я написал не получается логирование отключить ?

Неа. Обновился опять до 55й версии FF.

 

Указал вот так:

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("acceptInsecureCerts", true);
WebDriver driver = new FirefoxDriver(capabilities);
FirefoxOptions options = new FirefoxOptions();
options.setLogLevel(Level.OFF);
capabilities.setCapability("moz:firefoxOptions", options);

 

Логируется всё равно всё подряд в дебаг режиме. Хотя может быть я неправильно инициализирую драйвер? Я просто так и не понял как запускаться с несколькими опциями.


  • 0

#8 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 10 августа 2017 - 13:25

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("acceptInsecureCerts", true);
FirefoxOptions options = new FirefoxOptions();
options.setLogLevel(Level.OFF);
capabilities.setCapability("moz:firefoxOptions", options);
WebDriver driver = new FirefoxDriver(capabilities);

так надо. Если не сработает - тогда хз

 

Напиши только, получилось или нет


  • 1

#9 Tuttamko

Tuttamko

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 10 августа 2017 - 13:47

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("acceptInsecureCerts", true);
FirefoxOptions options = new FirefoxOptions();
options.setLogLevel(Level.OFF);
capabilities.setCapability("moz:firefoxOptions", options);
WebDriver driver = new FirefoxDriver(capabilities);

так надо. Если не сработает - тогда хз

 

Напиши только, получилось или нет

 

Не получилось :( 

 

В консоли творится по прежнему вакханалия:

1502372557438 Marionette DEBUG Received DOM event "beforeunload" for "https://192.168.**********"
1502372557742 Marionette DEBUG Received DOM event "pagehide" for for "https://192.168.**********"
1502372557743 Marionette DEBUG Received DOM event "unload" for for "https://192.168.**********"
1502372557750 Marionette DEBUG Received DOM event "DOMContentLoaded" for for "https://192.168.**********"
1502372557755 Marionette DEBUG Received DOM event "pageshow" for "https://192.168.**********"
1502372558347 Marionette DEBUG Received DOM event "beforeunload" for "https://192.168.**********"
1502372558373 Marionette DEBUG Received DOM event "pagehide" for "https://192.168.**********"
 
Это я чуть чуть скопировал, а так там на каждый чих 50 строк лога.
 
Значит пока посижу в 54й версии FF.

  • 0

#10 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 10 августа 2017 - 14:40

Ну да.
У меня точно также.

Хз - что здесь посоветовать, только откатиться назад ((


  • 0

#11 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 10 августа 2017 - 15:38

вообще настройка гекодрайвера с файрфоксом напоминает танцы с бубном

 

теоретически всё должно удобно решаться через setCapability, но на практике надо подбирать капабилити либо через опции, плюс подбирать версию драйвера и версию файрфокса которые "дружат" друг с другом


  • 0

#12 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 11 августа 2017 - 15:23

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


  • 2
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#13 Zergling

Zergling

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Андрей

Отправлено 31 августа 2017 - 07:58

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

 

<!-- https://mvnrepositor...m/selenium-java -->
<dependency>
   <groupId>org.seleniumhq.selenium</groupId>
   <artifactId>selenium-java</artifactId>
   <version>3.5.3</version>
</dependency>

 

DesiredCapabilities capabilities = DesiredCapabilities.firefox();
FirefoxOptions options = new FirefoxOptions();
options.setLogLevel(Level.OFF);
capabilities.setCapability("moz:firefoxOptions", options);

capabilities.setCapability(FirefoxDriver.MARIONETTE, true);

FirefoxDriver lDriver = new FirefoxDriver(capabilities);

 

Firefox version 55.02

 

С данным набором ошибка актуальна, хотелось бы фикс или костыль.


  • 0

#14 QA*

QA*

    Активный участник

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 13 января 2022 - 13:29

Подниму тему, у меня подобная же проблема, но в Selenide с хромдрайвером. Никто не знает решения? Сегодня попробовал обновиться до верии селенида 6.2.0, так в консоли еще больше сообщений стало выплевываться и не понятно весь этот "мусор" выключить.


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных