企业微信 web 自动化测试实战

霍格沃兹测试开发学社 ceshiren.com

课程内容

  • 作业讲解
  • PO 设计模式
  • 课堂实战
  • 实战讲解

成果展示

  • 工程结构
  • 运行效果

作业讲解

  • 通讯录页面:添加成员
  • 通讯录页面:添加部门

第三回:PageObject

  • PO 设计思想

第三回:PageObject 设计思想

PO 设计思想

  • 分工

  • 页面 ==> 类

    • 属性(名词):元素
    • 方法(动词):功能

PO 原则解读

  • 属性意义

    • 不要暴露页面内部的元素给外部
    • 不需要建模 UI 内的所有元素
  • 方法意义

    • 用公共方法代表 UI 所提供的功能
    • 方法应该返回其他的 PageObject 或者返回用于断言的数据
    • 同样的行为不同的结果可以建模为不同的方法
    • 不要在方法内加断言

企业微信PO建模

原型图

企业微信PO建模

  • 黄色的方块代表一个类
  • 每条线代表这个页面提供的方法
  • 箭头的始端为开始页面
  • 箭头的末端为跳转页面或需要断言的数据

第四回:企业微信实战演练

企业微信实战:PO与链式调用

  • PageObject:编写PO
  • 测试用例:实现链式调用

企业微信实战:定位与断言

  • PageObject:融入元素定位
  • 测试用例:实现断言

企业微信实战:封装BasePage

  • driver对象的实例化

企业微信实战:封装元素定位

  • 常用的 UI 操作封装在 base_page 中

企业微信实战:总结

课后练习

  • 使用 PO 设计模式改造作业代码
  • 通讯录页面:添加成员
  • 通讯录页面:添加部门