selenium-webdriver 4.0 не показывает сообщения об исключениях

Я использую Selenium с Capybara и Cucumber для запуска автоматических тестов в Ruby Mine против браузера Chrome. Я обновил selenium-webdriver до версии 4.0.0.alpha5 (предыдущая версия была 3.13.1), и после этого я обнаружил, что при доступе к функциям Capybary возникают некоторые исключения, когда возникают эти ошибки, я всегда получение этого сообщения:

NameError: uninitialized constant Selenium::WebDriver::Error::UnhandledError

Я ожидал, что какая-то ошибка связана с элементом, не найденным в документе, или по какой-либо значимой причине, это сообщение мешает решить основные проблемы в коде.

Как можно избежать этого сообщения? Необходимо ли выполнить какую-либо конфигурацию ошибок, чтобы правильно отловить исключение?

-- РЕДАКТИРОВАТЬ --

Трассировки стека:

NameError: uninitialized constant Selenium::WebDriver::Error::UnhandledError
./features/step_definitions/dspFramework_steps/navigation.rb:314:in `assertPageTitle'
./features/step_definitions/dspFramework_steps/navigation.rb:293:in `/^I assert that the page's title is( not)? "([^"]*)"/'
./features/step_definitions/dspFramework_steps/common_steps.rb:260:in `/^I click the site logo$/'
./features/dspApps_features/DSPCommon_features/DSPCommon_Add_DebugLog_CustomWebapp.feature:23:in `Then I click the site logo'

Метод assertPageTitle не работает в этой строке

if pageFocus.has_selector?('span.highcharts-title')

1 ответ

Решение

Я исправил проблему, обновив жемчужину капибары до последней версии (3.33.0), до этого я тестировал с версией 3.10.1. После обновления предыдущая ошибка больше не возникала, и когда я вызвал ошибку в тесте, я получил правильное сообщение об ошибке от Capybara:

Capybara::ExpectationNotMet: expected to find css ".detailtable" within #<Capybara::Node::Element tag="div" path="/HTML/BODY[1]/DIV[1]/DIV[2]/DIV[3]/DIV[1]"> at least 1 time but there were no matches
Другие вопросы по тегам