Я автоматизирую тест на основе форм «Добавить сотрудника» для нашей производственной площадки.Когда вводится идентификатор, или электронное письмо, или имя, которое уже существует, появляется служебная ошибка, которая показывает, что сотрудник не может быть зарегистрирован.Несмотря на то, что это окно появляется, тест проходит :(. Я попытался использовать функцию driver.switchTo (). Alert () в моем коде. Вот что произошло:
Alert alert=driver.switchTo().alert();
String text=alert.getText();
System.out.println(text);
с Firefox 7 + SeleniumWebDriver 2.8.0:
org.openqa.selenium.NoAlertPresentException: No alert is present (WARNING: The server did not provide any stacktrace information); duration or timeout: 2.11 seconds
Build info: version: '2.8.0', revision: '14056', time: '2011-10-06 12:41:48'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.37.6-0.7-desktop', java.version: '1.6.0_26'
Driver info: driver.version: RemoteWebDriver
С Chrome + Web Driver:
[1011/131949:ERROR:automation_json_requests.cc(59)] JSON request failed: GetAppModalDialogMessage
with error: No modal dialog is showing
Снимок ошибки:
Вопрос:
Хорошо, если я не получу текст диалога. Это единственное предупреждение, которое появится. Итак, знание того, что предупреждение появилось, решит мою проблему. Но обе вещи говорят, что предупреждения нет /существует модальное диалоговое окно :(
Спасибо.
РЕДАКТИРОВАТЬ: Я также пытался это:
Selenium selenium=new WebDriverBackedSelenium(driver,baseUrl);
System.out.println(selenium.isAlertPresent());
Это выдало false. Разве это не окно предупреждения? Разве это неили модальное диалоговое окно? Если это не какая-то из этих вещей, как мне найти его присутствие на странице?