WebDriver закрывает всплывающее окно - PullRequest
1 голос
/ 07 ноября 2011

У меня есть тест веб-драйвера, который застрял, потому что появляется всплывающее окно. Как я могу закрыть его в тесте?

Вот мой код:

@Test
 public void canGoToSomePage() throws Exception {

 final WebDriver webDriver = getFireFoxDriver();
 webDriver.get(getRouteAbsolute("Application.index"));


 WebElement someElement = webDriver.findElement(By.id("some_id_here"));
 someElement.click();

 // HERE I GOT AUTHENTICATION POP-UP I WANT TO CLOSE


 assertNotNull(webDriver.findElement(By.id("some_2_id")));

 }

1 Ответ

0 голосов
/ 08 ноября 2011

Попробуйте это,

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

Раньше я никогда не использовал оповещения, раньше я отключал всплывающие окна с помощью JS. Вы тоже можете это сделать, но я думаю, что Alert будет первым выбором.

EDIT # 1

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

((JavascriptExecutor)driver).executeScript("window.alert = function(msg) { return true; }");
((JavascriptExecutor)driver).executeScript("window.confirm = function(msg) { return true; }");
((JavascriptExecutor)driver).executeScript("window.prompt = function(msg) { return true; }");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...