參考:忘記了
因為今天PM告知我一大堆檢核錯誤,看者他的手寫TestCase時我心裡想,那乾脆來寫個seleniumTest好了,幫助他也幫助到我自己,我檢核的流程如下:
- 輸入錯誤的使用者密碼,帳號
- 跳出相對應的alert訊息(須檢查各種錯誤訊息是否正確)
TestCase如下:
@Test
WebDriver _driver = null;
public void test() throws Exception {
//...
WebElement textMerchno = _driver.findElement(By.xpath("//input[@id='merchno']"));
textMerchno.sendKeys(_merchno);
WebElement textUserid = _driver.findElement(By.xpath("//input[@id='userid']"));
textUserid.sendKeys(_userid);
WebElement textPwd = _driver.findElement(By.xpath("//input[@id='userpwd']"));
textPwd.sendKeys(_userpwd);
WebElement btn = _driver
.findElement(By.xpath("//input[@type='button' and @class='table_button']"));
btn.click();
Alert alert = _driver.switchTo().alert();
String actual = alert.getText();
assertEquals(expectedMsg, actual);
//...
}
但是就在執行時出現了Exception:
driver.close org.openqa.selenium.UnhandledAlertException: Modal dialog present:...
解決方式如下:
Alert alert = _driver.switchTo().alert();
String actual = alert.getText();
_driver.switchTo().alert().accept();
assertEquals(expectedMsg, actual);
只要加上_driver.switchTo().alert().accept();
就可以啦~