Как проверить уведомления браузера с помощью Selenium Webdriver - PullRequest
0 голосов
/ 18 мая 2018

Я автоматизирую один тестовый случай с использованием Selenium Webdriver и ядра Java, в котором при нажатии одной кнопки я получаю уведомление на уровне браузера «Показать уведомления с параметрами« Разрешить и заблокировать »».После нажатия кнопки «Разрешить» я хочу проверить содержимое входящих веб-уведомлений, а также нажать на них.Кто-нибудь знает, как сделать это через селен. Уведомления будут приходить что-то вроде этого Facebook Chrome уведомлений

https://i.stack.imgur.com/ZNPYP.png

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Для моего теста в Chrome я использовал следующее, чтобы проверить, видно ли push-уведомление.

//SITE: 
 driver.get("http://makemytrip.com/");

//Test for PUSH NOTIFICATION

if(driver.findElement(By.cssSelector("[id='webpush-bubble']" )).isDisplayed()) {
   System.out.println("Push Prompt is Present");

//Popup active(as iFrame) so navigate in it and get text
//See=> https://sqa.stackexchange.com/questions/31693/how-to-read-html-source-from-iframe-using-selinium-webdriver
  WebElement iFrame = driver.findElements(By.tagName("iframe")).get(6); 
 driver.switchTo().frame(iFrame);
          System.out.println(driver.findElement(By.xpath("//div[@class='description']")).getText());
//Then switch back to normal content for any other navigation           
driver.switchTo().defaultContent();

    } else {
        System.out.println("Push Prompt NOT Present");
    }
0 голосов
/ 18 мая 2018

Вы можете управлять настройками Firefox по всему профилю, чтобы разрешить веб-уведомления.

profile.setPreference("permissions.default.desktop-notification", 1);

См. Почти дублированный вопрос и ответ для получения дополнительной информации: https://stackoverflow.com/a/49111281/1079254

...