• 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;
                    }
                }));
            }
        }
  • 相关阅读:
    读写锁机制原理
    jvm
    (WPF) 再议binding:点击User Control时,User Control变换颜色或做其他的处理。
    (WF)
    (C# ) 解析XML。
    (C#) 调用执行批处理文件
    (WPF, Service) 删除注册表中的USB Enum值.
    (C#) 文件操作
    (C#) Parse xml 时, 返回的node值总是null。
    (PowerShell) Managing Windows Registry
  • 原文地址:https://www.cnblogs.com/heaven1025/p/5771457.html
Copyright © 2020-2023  润新知