atesting.ru Блог Как обрабатывать предупреждения/всплывающие окна Javascript в Selenium WebDriver

Как обрабатывать предупреждения/всплывающие окна Javascript в Selenium WebDriver

Обработка предупреждений/всплывающих окон Javascript:

В этом посте мы увидим, как обрабатывать предупреждения/всплывающие сообщения JavaScript. Оповещения — это в основном всплывающие окна, которые отвлекают вас от текущего браузера и заставляют вас прочитать предупреждающее сообщение. Вам необходимо выполнить некоторые действия, например принять или закрыть окно предупреждения, чтобы возобновить выполнение задачи в браузере.

Для обработки всплывающих окон предупреждений нам необходимо переключиться в окно предупреждения и вызвать методы API предупреждений Selenium WebDriver.

Существует два типа предупреждений.

  1. На базе Windows
  2. На базе веб/браузера

Здесь, в В этом посте я ограничиваюсь предупреждениями Java Script (также известными как браузерные/веб-предупреждения).

Для Windows: проверьте ссылку ниже.

Как обрабатывать всплывающие окна на базе Windows с помощью AutoIT (БУДУТ ОБНОВЛЕНИЕ СКОРО)

Для обработки предупреждений на основе браузера (всплывающих окон предупреждений в Интернете) мы используем Alert Интерфейс. Интерфейс Alert предоставляет несколько методов для обработки всплывающих окон.

При запуске сценария WebDriver элемент управления драйвером будет находиться в браузере даже после создания предупреждения, что означает, что элемент управления драйвером будет находиться за всплывающим предупреждением. Чтобы переключить элемент управления на всплывающее окно с предупреждением, мы используем следующую команду:

1 driver.switchTo (). alert ();

Как только мы переключаем управление с браузера на окно предупреждения. Мы можем использовать методы интерфейса Alert для выполнения необходимых действий, таких как принятие предупреждения, отклонение предупреждения, получение текста из окна предупреждения, написание текста в окне предупреждения. и т. д.

Давайте посмотрим на методы интерфейса предупреждений.

Нам нужно импортировать пакет org.openqa.selenium.Alert для обработки предупреждений в Selenium.

Чтобы обработать открытое предупреждение:

< table class = "crayon-table">

1 Alert alert = driver.switchTo (). alert ();

Чтобы нажать кнопку ОК:

1 alert.accept ();

Чтобы нажать кнопку «Отмена» .

1 alert.dismiss ( )

Чтобы получить текст, который присутствует в предупреждении .

1 alert.getText ();

Чтобы ввести текст в окно предупреждения

1 предупреждение .sendkeys (String stringToSend);

Для аутентификации путем передачи учетных данных

1 alert.authenticateUsing (учетные данные)

Пример программы:

Java

1234567891011121314151617181920212223242526272829 программный пакетTestingMaterial; import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.Test; открытый класс AlertInterface {@Test public void alertWindow () выдает исключение {System.setProperty (& # 34; webdriver.chrome.driver & # 34 ;, & # 34; D: \ Selenium Environment \ Drivers \ chromedriver.exe & # 34;); Драйвер WebDriver = новый ChromeDriver (); driver.get (& # 34; http: //softwaretestingplace.blogspot.com/2017/03/javascript-alert-test-page.html"); driver.findElement (By.xpath (& # 34; //* [@ id = & # 39; content & # 39;]/button & # 34;)). click (); Thread.sleep (3000); Оповещение alert = driver.switchTo (). Alert (); Строка print = alert.getText (); System.out.println (печать); alert.accept (); Thread.sleep (3000); driver.findElement (By.xpath (& # 34; //* [@ id = & # 39; content & # 39;]/button & # 34;)). click (); Thread.sleep (3000); alert.dismiss (); driver.close (); }}

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

TAG: qa