フォームをテストしていますが、必要なデータを入力しないと、Web アプリで JavaScript アラートが表示され、不足しているデータを入力するようユーザーに指示されます。フォームに部分的に入力して送信しようとすると例外が発生するため、セレンではこれを処理できません
org.openqa.selenium.UnhandledAlertException: Modal dialog present
例外をキャッチすると、webdriver のアラートは表示されません。この問題を解決する解決策はありますか?フォームを送信してアラートをキャッチできるようにしたいと思います。Linux Mint、Firefox 18、および Selenium 2.28.0 を Java で使用しています よろしくお願いします UPDATE 私は自分のコードに従っています
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)
ただし、送信時に手動をクリックすると、期待どおりにテスト作業が行われます。前もって感謝します