亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium對Alert彈框的多種處理
作者:喬葉葉 發(fā)布時間:[ 2016/7/6 11:54:42 ] 推薦標簽:功能測試 軟件測試工具

  Alert彈框是一個很煩人的控件,因為當前頁面如果彈出了該彈框,你必須要處理它,不然你不能操作頁面的其它元素,下面我列出了alert彈框在多種場景下的處理辦法。
  明確知道系統(tǒng)哪個地方會彈alert
  常規(guī)處理,該方法只是對彈出的alert彈框進行了捕獲和處理
@Test(enabled=false)
publicvoidff1(){
System.setProperty(key,value);
driver=newChromeDriver();
driver.get("file:///Users/user/Documents/qiaojiafei/seleniumtest.html");
driver.findElement(By.xpath("//*[@id='alert']/input")).click();
Alertalt=driver.switchTo().alert();
alt.accept();
}
  捕獲時增加智能等待,該方法對彈出的alert彈框進行智能等待,避免了NoAlertPresentException異常的拋出
@Test(enabled = false)
public void ff2() {
System.setProperty(key, value);
driver = new ChromeDriver();
driver.get("file:///Users/user/Documents/qiaojiafei/seleniumtest.html");
driver.findElement(By.xpath("//*[@id='alert']/input")).click();
WebDriverWait wait = new WebDriverWait(driver, 10);
try {
Alert alert = wait.until(new ExpectedCondition<Alert>() {
@Override
public Alert apply(WebDriver driver) {
try {
return driver.switchTo().alert();
} catch (NoAlertPresentException e) {
return null;
}
}
});
alert.accept();
} catch (NullPointerException e) {
/* Ignore */
System.out.println("ff2 nullpoint");
}
}
  捕獲和處理alert時都增加判斷,使用selenium自帶的ExpectedConditions
@Test(enabled = false)
public void ff3() {
System.setProperty(key, value);
driver = new ChromeDriver();
driver.get("file:///Users/user/Documents/qiaojiafei/seleniumtest.html");
driver.findElement(By.xpath("//*[@id='alert']/input")).click();
boolean flag = false;
Alert alert = null;
try {
new WebDriverWait(driver, 10).until(ExpectedConditions
.alertIsPresent());
alert = driver.switchTo().alert();
flag = true;
// alert.accept();
} catch (NoAlertPresentException NofindAlert) {
// TODO: handle exception
NofindAlert.printStackTrace();
// throw NofindAlert;
}
if (flag) {
alert.accept();
}
}
  以上的幾種方法都是自己知道哪個地方要彈alert,所以在代碼的某處對alert進行捕獲,但是有時候我們并不知道哪個地方會彈alert彈框,這樣會導(dǎo)致我們沒有進行捕獲代碼拋出了
  UnexpectedAlertBehaviour異常,下面我們來看下怎么解決這個問題。
  不清楚系統(tǒng)哪個地方會彈alert
  對整個正常代碼進行異常捕獲,寫進try里,然后catchUnexpectedAlertBehaviour
@Test(enabled = false)
public void ff4() {
System.setProperty(key, value);
driver = new ChromeDriver();
driver.get("file:///Users/user/Documents/qiaojiafei/seleniumtest.html");
driver.findElement(By.xpath("//*[@id='alert']/input")).click();
try {
System.out.println("ff4正常處理代碼1");
driver.findElement(By.xpath("//*[@id='alert']/input")).click();
} catch (UnhandledAlertException e) {
// TODO: handle exception
driver.switchTo().alert().accept();
System.out.println("ff4進入UnhandledAlertException異常");
}
System.out.println("ff4正常處理代碼2");
}

上一頁12下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 青青草国产青春综合久久 | 欧美黄成人免费网站大全 | 可以www视频 | 亚洲国产成人在线视频 | 国产亚洲欧美另类一区二区三区 | 国产三级欧美 | 免费成人在线播放 | 天天碰免费视频 | 九九综合视频 | 日韩激情视频网站 | 中文字幕在线观 | 国产高清av在线播放 | 一级黄色片一级黄色片 | 大学生一级特黄的免费大片视频 | 色吊丝最新网站 | 国产亚洲精品成人久久网站 | 老司机午夜免费福利 | 国产综合成人观看在线 | 看全黄大色黄大片老人做 | 色老汉在线| 99精品视频99 | 日日摸夜夜添欧美一区 | freevideos性欧美 | 国产精品tv| 日本成人一级片 | 天天久| 亚洲国产日韩在线观看 | 成人福利在线视频免费观看 | 成人一区二区免费中文字幕 | 成人短视频在线观看免费 | 日日夜夜国产 | 日韩亚洲制服丝袜中文字幕 | 日韩欧美在线观看成人 | 色综合狠狠操 | 国内精品免费麻豆网站91麻豆 | 欧美成人精品一区二区三区 | 亚洲欧美日韩一区二区在线观看 | 欧美13一18成年性 | 日韩精品一区二区三区中文字幕 | 婷婷在线成人免费观看搜索 | 日韩高清性爽一级毛片免费 |