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

Фотография

Неполное логирование эксепшинов (ReportNG; драйвер: GoogleChrome)

Selenium Chrome drive ReportNG

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

#1 sirj77

sirj77

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

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

Отправлено 05 декабря 2014 - 12:14

Добрый день.
Среда: Jenkins+Maven+Selenium+Java+ReportNG; драйвер: GoogleChrome
При прогоне тестов используя Chrome драйвер, при возникновении ошибок/эксепшинов - в лог-репорт записывается лишь частичное сообщение об ошибке (например: org.openqa.selenium.NoSuchElementException: no such element), т.е. не указывается какого именно элемента нет, и доп. инфы.
Каким образом сделать так, что бы выводилась подробная понятная информация об ошибке, что бы можно было пойти и исправить в нужном месте кода?
Вот мейн класс обьектов:

....
@FindBy(xpath = "<xpath_selector>")
    public WebElement <name_of_element>;
...

Вот класс тестов:

......
@Test(priority = 0)
    public void <name_test1>() throws Exception {
        <variable_of_main_class>.<name_of_element>.click()
......

Эксепшины при условии использования FireFox драйвера в лог пишуться нормально, например: org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"xpath","selector":""}, а так же доп. другая инфа (версия драйвера, дата и время, системная инфа, версия Джавы).


  • 0

#2 barancev

barancev

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

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


Отправлено 05 декабря 2014 - 12:17

https://code.google....s/detail?id=988


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

#3 sirj77

sirj77

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

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

Отправлено 05 декабря 2014 - 14:38

Спасибо за линк. но я все же не доконца понимаю каким образом мне побороть эту проблему - нашел SmartUnit проект на Гите, собственно что нужно имплементировать мне в свой код, что бы логирование было ("Find clause: By.selector: .myElement")? Извините за такие не совсем умные вопросы, но я совсем недавно начала разбираться.

 

Спасибо.

Если нужны мои исходники (обьекты, тесты, пом файл) - то вышлю.


  • 0

#4 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 05 декабря 2014 - 14:49

Дык, ни как и не побороть, это проблема в хромдрайвере, вам же ссылку дали почитать, там в последнем комменте Алексей и пишет об этом.

У вас какой версии драйвер-то?


  • 0

#5 sirj77

sirj77

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

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

Отправлено 05 декабря 2014 - 17:21

Ясно( да одна из самых последних версий хромдрайвера. А что есть разница какая?


  • 0

#6 barancev

barancev

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

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


Отправлено 06 декабря 2014 - 11:52

Никак не побороть, да. Баг в chromedriver. Можно попробовать предыдущую версию, может быть там этого бага ещё не было.


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

#7 mazik7

mazik7

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

  • Members
  • Pip
  • 63 сообщений
  • ФИО:Мазик
  • Город:Красноярск

Отправлено 08 декабря 2014 - 06:48

Ясно( да одна из самых последних версий хромдрайвера. А что есть разница какая?

Можно сделать обертку и возбуждать свое исключение (с блэкджеком of course). Не знаю подойдет ли это к вашей задаче, но мы из-за неинформативности exception'a в хроме сделали именно так.

К примеру написать свой метод в котором завернуть FindElement в try. Ну а в текст исключения передавать необходимые вам параметры.


  • 0

:smile:




Темы с аналогичным тегами Selenium, Chrome drive, ReportNG

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

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