提升UI自动化测试稳定性的一些看法

影响UI自动化测试稳定性的原因

  1. 不适合的等待,导致定位元素失败。如loading页消息的时间
  2. 不适合的操作,导致操作页面元素失败。本来应该是点击,弄成写的操作
  3. 通过页面的元素来准备数据,而这个过程过长稳定性差。每次计算的时间不一样
  4. 不同的环境有不同的数据,如画布的上定位,linux与windows的浏览器位置,结构完全不同,切换环境后,定位就改变
  5. 配置可能有本地的,服务器上的,不同的操作环境配置会有所不同,切换后脚本失败

在Selenium下一般情况下都是使用显式等待、隐式等待、强制等待。

  • 显式等待
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions
    利用这两个函数,每隔一段时间检测一次当前页面元素是否满足一定条件,如果满足就继续执行,如果不满足就循环找,超时则抛出异常。

  • 隐式等待
    在创建WebDriver时,设置全局元素等待超时时间。默认是0,但是设置之后,这个时间将在WebDriver对象实例整个生命周期都起作用。implicitlyWait()

  • 强制等待
    sleep()设定一个等待的时间,让整个程序休眠

cypress.io TestCafe Puppeteer

你可能感兴趣的:(提升UI自动化测试稳定性的一些看法)