1. 程式人生 > >Web自動化常用方法封裝(不定時更新)

Web自動化常用方法封裝(不定時更新)

display isp 更新 after ive UC second 捕獲 expected

1.對於可能因某些原因延遲出現的瀏覽器Alert彈窗的點擊操作

public void waitAlertClick(){
WebDriverWait wait = new WebDriverWait(driver, 10);//最長10s
try {
Alert alert = wait.until(new ExpectedCondition<Alert>() {
@Override
public Alert apply(WebDriver driver1) {
try {
return driver.switchTo().alert(); //獲取Alert對象

} catch (NoAlertPresentException | UnhandledAlertException ignored) { //異常可根據實際情況捕獲處理
return null;
}
}
});
alert.accept(); //這裏點擊確定,也可做其他操作
} catch (NullPointerException e) {
System.out.println("No Alert");//等待超時,未出現彈窗,alert為null則執行此處
}

2.對於有隱藏屬性的元素的顯示狀態判斷,以此等待頁面加載元素可見後,進行下一步操作

public void  waitEleIsDisplay(By by){ //等待元素可見,最多15s。
WebDriverWait wait = new WebDriverWait(driver, 15);
try {
wait.until(new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver driver1) {
try {
WebElement ele=driver.findElement(by);
return ele.isDisplayed();
}catch (NoSuchElementException e){
return null;
}
}
});
}catch (TimeoutException e ){
System.out.println("等待元素顯示超時Timed out after 10 seconds waiting for:"+by);
}

}


Web自動化常用方法封裝(不定時更新)