2013-06-12 2 views
1

Я пытаюсь использовать переключатель для предупреждения и выполнения действия, но я сталкиваюсь с ошибкой.Alert Handling + Java + webdriver

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

Alert alert = driver.switchTo().alert(); 
      String AlertText = alert.getText(); 
System.out.println(javascriptconfirm.getText()); 
      alert.accept(); 

Пожалуйста найти ошибку ниже

No alert is present (WARNING: The server did not provide any stacktrace information) 

ответ

3

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

public boolean isAlertPresent() { 

    boolean presentFlag = false; 

    try { 

    // Check the presence of alert 
    Alert alert = driver.switchTo().alert(); 
    // Alert present; set the flag 
    presentFlag = true; 
    // if present consume the alert 
    alert.accept(); 

    } catch (NoAlertPresentException ex) { 
    // Alert not present 
    ex.printStackTrace(); 
    } 

    return presentFlag; 

} 

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

+0

Исправить. Раньше я использовал один и тот же подход (try/catch) и смог отлично справиться с этим. Просто хотел знать, что не так, если вы не используете инструкцию try/catch. Я отмечаю это как ответ, чтобы добавить больше смысла и отметить, что это один из способов обращения с ним. Благодаря.. – Sriram

Смежные вопросы