WebDriverWait 中 and, or, not用法

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 用法

    public void expectTextExistOrNot(final boolean expectExist, final String text, int timeout) {
        //替换完成
        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;
                }
            }));
        }
    }
原文地址:https://www.cnblogs.com/heaven1025/p/5771457.html