我正在测试我的表单,当我没有输入需要的数据时,我会在我的网络应用程序中收到 javascript 警报,告诉用户输入丢失的数据。我无法用 selenium 处理这个问题,因为当我部分填写表格并尝试提交时,我得到了异常
org.openqa.selenium.UnhandledAlertException: Modal dialog present
如果我捕获异常,则不会显示 webdriver 中的警报。这是解决此问题的任何解决方案吗?我希望能够提交表单并收到警报。我正在使用带有 java 的 Linux Mint、Firefox 18 和 selenium 2.28.0 最好的问候更新我的代码中有以下内容
somePage.fillName(sth); //only 1 of 2 required field are filled
somgePage.submit(); //here js alert is shown right after clicking submit
somePage.getCurrentAlert();
//here are code parts
public Alert getCurrentAlert(){
return driver.switchTo().alert();
}
public AdminHome submit(){
saveUrl();
WebElement submit = driver.findElement(By.id("add_quiz_submit_button"));
try{
submit.click();
if(urlChanged()){
return new AdminHome(driver);
}
}
catch(Exception e){
e.printStackTrace();// exception 1
return null;
}
return null;
}
//Exception 1
org.openqa.selenium.UnhandledAlertException: Modal dialog present
//The test fails because of:
org.openqa.selenium.NoAlertPresentException: No alert is present (WARNING: The server did not provide any stacktrace information)
但是,如果我按预期单击手动提交测试工作。提前致谢