Я использую Capybara с веб-селеном Selenium в своем тестовом наборе. Я заметил, что когда все тесты завершены, Selenium закрывает браузер, привязывая его к at_exit
. Тем не менее, это вызывает проблемы, связанные с тем, что мое веб-приложение отображает диалоговое окно «Вы уверены, что хотите перейти»? onunload
(Пожалуйста, не судите. Это приложение для интрасети, и пользователи специально запросили его). Поэтому, когда тесты выполняются, мой сценарий Cucumber терпит неудачу (хотя все мои шаги проходят), потому что был необработанный диалог Javascript confirm
. Есть ли способ привязки после того, как Selenium пытается закрыть браузер и принять диалог?Обработка закрытия браузера при выполнении тестов
Update
Я считаю, что я нашел проблему с этим. Похоже, что после каждого теста Capybara сбрасывает браузер, очищая все файлы cookie и перемещаясь примерно до: blank. Это то, что вызывает открытие диалогового окна onbeforeunload
(не browser.quit()
). Я перекрестно размещаю в списке рассылки Capybara, чтобы попытаться получить помощь по этому поводу и опубликую все, что найду здесь.
Хотя я не совсем знаком с креплениями, которые вы используете, делает 'driver.switch_to_alert() alert.confirm()' (для версии питона) не работает для вас? –
Вот что мне нужно сделать, я просто не могу найти подходящее место для этого. Похоже, что либо Capybara, либо Cucumber закрывают браузер, когда тестовый сценарий завершен. Вот когда мне нужно переключиться на предупреждение и принять его. – Kyle
Есть ли доступ к методу 'tearDown'? Не могли бы вы попробовать «попробовать/поймать»? –