提升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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容