一、什么是PageObject
1、将页面封装成对象
2、页面对象内封装业务方法
3、元素定位方法和获取数据可存放到其他配置文件
二、PageObject特点
1、优点:
a、减少自动化重复代码,提高代码复用性
b、合理的代码逻辑分层,提高代码阅读性和可维护性
c、数据与逻辑分离,降低频繁变动的UI元素和自动化脚本造成的干扰
2、缺点:
一次性脚本开发效率不高
三、实例分析(登录页面)
1、每个页面封装成对象
例如:登录页面可以设计成LoginPage 类
2、封装具体业务方法
例如:登录页面的登录方法有login(username,password)
3、不保存具体的元素定位
例如:定位用户名和密码框的表达方不写在代码里,放在外部配置文件当中
4、页面元素属性化
只设计到要操作的元素名称
具体的定位方式方法不写在代码里
元素定位可配置化
a、配置以键值对形式存在
b、区分出不同的页面
c、保存元素配置的文件形式没有限制,可以是文本文件、EXCEL、数据库等
四、代码思路
1、先写出具体的业务逻辑—比如登录
2、再将写好的逻辑封装到类里面
3、继续构造其他的页面类
4、将这些类共同的功能抽象化父类,被其他业务类继承
5、可以将代码内部的具体元素抽离处理用外部的配置文件进行管理
五、Yaml 格式配置文件特点
1、YAML的数据组织主要依靠的是空白,缩进,分行等结构,可读性好
2、YAML实现简单,解析成本很低,和脚本语言的交互性好
3、YAML使用实现语言的数据类型
4、表达能力强,扩展性好