С таким лозунгом приходится жить любому тестировщику.
📅 Буквально вчера вечером нужно было написать простенький парсер с сайта. Решил выбрать Selenide и по мере написания тестов столкнулся с необработанным исключением:
Caused by: org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element: {"method":"xpath","selector":"//span[text() = 'Show more results']"}
А мне там нужно было до последнего кликать на "Show more", а потом эта кнопка уже всё, либо могла случайно не прогрузиться за таймаут.
🔄 Пару десятков раз перезапустив тесты, которые идут до падения около 20 минут, а на часах уже 2 часа ночи, я в очередной раз не понял, почему у меня тест падает, не обрабатывая исключения. Для простоты использовал просто catch (Exception e). Каково же было мое удивление, что оказывается все эти ElementNotFoundException и StaleElementException в Selenide, в отличие от Selenium, не наследуются от Exception, а наследуются от Error. А еще и логи непонятно зачем выводят мне исключения Selenium, вместо Selenide.
🚫 Не доверяйте никому, даже логам, даже себе! Всегда всё перепроверяйте.
