• APP自动化测试-Appium元素定位之元素等待


    一、什么是元素等待

    元素等待的意义

    • 在 Appium 自动化测试中,元素等待是一个重要的环节。当脚本执行速度较快,而页面元素尚未加载完成时,就会导致脚本无法定位到元素,从而使执行失败。因此需要设置元素等待,从而增强脚本的健壮性,提高执行效率。
    • 元素等待的主要目的是确保在执行操作之前,目标元素已经在界面上可用。这样可以避免因元素未加载完成而导致的错误。

    在使用元素等待时,需要注意以下几点

    • 等待时间的设置要合理,过长的等待时间会影响测试效率,过短可能导致等待失败。
    • 对于一些复杂的页面或网络环境较差的情况,可能需要适当增加等待时间。

    以下是一些常见的元素等待方法:

    • WebDriverWait:可以设置等待时间和超时时间,在指定时间内等待元素出现。
    • 显式等待:通过明确指定要等待的条件来等待元素。
    • 隐式等待:在查找元素时设置一个全局的等待时间,在该时间内查找元素。

    二、元素等待的方法

    方法一

    定义方法:
    1. from selenium.webdriver.support.ui import WebDriverWait
    2. # 定义一个获取元素的方法
    3. def get_element(driver, element):
    4. wait = WebDriverWait(driver, 10, 1)
    5. # element = wait.until(lambda x: x.find_element(element[0], element[1]))
    6. element = wait.until(lambda x: x.find_element(*element))
    7. return element
    方式解释:

    这段代码是在使用 Selenium 库中的 WebDriverWait 类。

    • WebDriverWait(driver, 10, 1):创建一个等待对象 wait。其中:
      • driver:驱动对象。
      • 10:表示等待的最大时间(以秒为单位)。
      • 1:表示每隔 1 秒检查一次条件。
    • wait.until(lambda x: x.find_elemen
  • 相关阅读:
    JAVA开发环境搭建从0-1
    vite不能选配方案?vite-creater强势来袭!
    download failed after attempts=6: dial tcp 108.160.169.178:443: i/o timeout问题解决
    axios和vuex
    结构体-时间的计算
    子类加@Data后,IDEA调试时“出现”父类属性无值
    虹科技术 | 快速准确测量0.05m-500m--虹科dimetix激光测距传感器的优势
    Java 20 新功能介绍
    (218)Verilog HDL:实现简单 FSM2(异步复位)
    JS获取当前时间并转换时间格式
  • 原文地址:https://blog.csdn.net/m0_64598636/article/details/137246517