Обработка распространенных всплывающих окон в приложении java webdriver testng

Вопрос:

У меня есть общее всплывающее окно в моем приложении, которое в основном представляет собой приглашение для “Несохраненных изменений с кнопками” Да “и” Нет “”.

Проблема в следующем: я хочу обработать это из общего места в Automation Framework, я не хочу обрабатывать это всплывающее окно в каждом тестовом случае. Есть ли способ, чтобы я мог написать пользовательский прослушиватель, который может запускаться, как только это появляется в пользовательском интерфейсе.

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

Я использую Java и TestNG вместе с WebDriver.

Благодарю.

Ответ №1

В зависимости от вашего всплывающего окна вы можете регистрировать события со следующим interface WebDriverEventListener указанным по адресу http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/support/events/WebDriverEventListener.html.

Лично мне нравится подход к прямому обращению с этим с помощью специального обработчика ошибок и рекурсивных вызовов функций. Это дает вам более точный контроль… хотя для его работы требуется больше программ. В любом случае в рамках обработки событий/исключений вы можете поместить свой настраиваемый код для обработки всплывающего окна с помощью driver.SwitchTo().Alert().accept() driver.SwitchTo().Alert().dismiss() или driver.SwitchTo().Alert().dismiss() или настраиваемый код для взаимодействия с вашими пользовательскими всплывающими элементами.


При этом, поскольку у вас есть два варианта в вашем всплывающем окне, вы захотите убедиться, что у вас есть несколько тестов, которые обращаются к этому напрямую, иначе вы не будете тестировать все случаи. Возможно, у вас может быть однострочный вызов функции, которая обрабатывает принятие/отклонение всплывающего окна, и вы просто передаете значение bool, принимает ли оно или отклоняет…

Оцените статью
TechArks.Ru
Добавить комментарий