
1. And 用法
wait.until(ExpectedConditions.and(
ExpectedConditions.visibilityOfAllElementsLocatedBy(By.name("Services")),
ExpectedConditions.visibilityOfAllElementsLocatedBy(By.name("Products"))
)
);
2. Or 用法
wait.until(
ExpectedConditions.or(
ExpectedConditions.visibilityOfAllElementsLocatedBy(By.name("Services")),
ExpectedConditions.visibilityOfAllElementsLocatedBy(By.name("Products"))
ExpectedConditions.visibilityOfAllElementsLocatedBy(By.name("Contact Us"))
)
);
3. Not 用法
//替换完成
webDriverWait = new WebDriverWait(browserCore, Long.valueOf(timeout)/1000);
if(expectExist){
webDriverWait.until(new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver driver) {
boolean flag = browserCore.getPageSource().contains(text);
if (flag) {
logger.info("Expect Text:{} present and found it ", text);
} else {
logger.error("Expect Text:{} present ,but not found it ", text);
handleFailure("Expect Text: " + text + " not present and not found it ");
}
return flag;
}
});
}else{
webDriverWait.until(ExpectedConditions.not(new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver driver) {
boolean flag = browserCore.getPageSource().contains(text);
if (flag) {
logger.error("Expect Text:{} not present , but found it ", text);
handleFailure("Failed to find text: " + text);
} else {
logger.info("Expect Text:{} not present , and not found it ", text);
}
return flag;
}
}));
}
}