• 显式等待与隐式等待


    隐式等待:隐式等待针对的是一个全局的设置,设置隐式等待后,脚本中的所有页面元素操作都遵从这个类似全局性质的等待标准.但有时候页面元素加载完毕,不一定元素就能被点击,此时就需要显示等待来处理了.

    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
    显示等待:显示等待针对的是需要操作的单个元素,对单个元素生效.显示等待中有多种等待机制,可以等待元素出现直到被点击才算真正的等待完毕.

    当页面加载很慢时,推荐使用显示等待:等到需要操作的那个元素加载成功之后就直接操作这个元素,不需要等待其他元素的加载

    WebDriverWait wait = new WebDriverWait(driver, 10);

    wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("kw")));

    显式等待 使用ExpectedConditions类中自带方法, 可以进行显试等待的判断。

    显式等待可以自定义等待的条件,用于更加复杂的页面等待条件

    (1)页面元素是否在页面上可用和可被单击:elementToBeClickable(By locator)

    (2)页面元素处于被选中状态:elementToBeSelected(WebElement element)

    (3)页面元素在页面中存在:presenceOfElementLocated(By locator)

    (4)在页面元素中是否包含特定的文本:textToBePresentInElement(By locator)

    (5)页面元素值:textToBePresentInElementValue(By locator, java.lang.String text)

    (6)标题 (title):titleContains(java.lang.String title)

    只有满足显式等待的条件满足,测试代码才会继续向后执行后续的测试逻辑

    如果超过设定的最大显式等待时间阈值, 这测试程序会抛出异常。

    WebDriverWait wait = new WebDriverWait(driver,5);

    wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("")));

    ————————————————
    版权声明:本文为CSDN博主「chuntian_tester」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_40132294/article/details/120706727

  • 相关阅读:
    1.8新特性
    线程池
    微服务简介
    缓存三大问题
    Redis分布式锁的正确实现方式
    【java-10&11&12】java语言(Hello World相关)
    【postman】postman 安装失败
    【java-04-09集】JDK的下载和安装&配置环境变量(临时和永久)&命令行方式
    【ISTQB】TM&TA&TTA区别
    【git】学习地址
  • 原文地址:https://www.cnblogs.com/x991788x/p/16226765.html
Copyright © 2020-2023  润新知