环境安装与配置。自动化用例录制。web浏览器控制。常用控件定位方法。强制等待与隐式等待与显式等待。常见控件交互方法。自动化测试定位策略

自动化测试简介

  • UI自动化的成本高,效率低是相对于单元测试和接口测试而言的,对于手工测试,UI自动化测试的成本还是低的,效率还是高的

  • 关键是要有选择地选择用例做UI自动化

selenium 简介

web自动化环境配置步骤

seleniumIDE用例录制

web浏览器控制

image

常用控件定位方法

添加等待

  • 为什么要添加等待

    如果不添加等待,直接执行,可能会报错:"no such element:unable to locate element",因为页面可能没渲染加载完成
    
  • 强制等待 time.sleep()

    • 适用于调试的场景。实际自动化代码投入使用的时候不会使用,因为它效率低,没有解决不稳定性的问题

    • 强制等待的问题:1. 由于不确定元素加载出来具体你需要的时间,如果为了保险起见,在定位每个元素之前都添加了好几秒的强制等待,而实际却不需要那么长的时间。就有可能等待时间过长,影响用例的执行效率。2. 如果等待时间过短,可能页面元素还没加载出来,定位不到而报错

  • 隐式等待 driver.implicitly_wait()

    • 隐式等待的添加位置:添加在代码一开始运行的位置。注意隐式等待是全局生效的,不需要在每行定位元素前添加隐式等待。

    • 隐式等待只能解决查找元素的问题,不能解决元素不可交互的问题


  • 显式等待



常见控件交互方法

  • 元素操作:输入,清空,点击

  • 获取元素的文本或属性信息,根据这些信息进行断言或调试

     获取元素文本:定位到的元素.text
    
     获取元素属性值:定位到的元素.get_attribute("属性名")
    


自动化测试定位策略

测试人论坛搜索功能自动化测试