page object 把一个页面 的 元素定位 和 元素操作 封装成 编程语言中的 一个类
元素的定位:类的属性
元素的操作:类的方法
在自动化中主要用来实现 页面对象(页面属性和页面操作) 和测试用例的分离
如
PO模式可以把一个页面分为三层,对象库层、操作层、业务层
对象库层:(封装定位元素的方法)page类,定位每个页面的元素在哪里 findelement根据id xpath这些去找
操作层:封装对元素的操作。
业务层:将一个或多个操作组合起来完成一个业务功能。
test case 测试用例 调用上面对象的方法 写操作业务
优点:
1、通过页面分层,将测试代码和被测试页面的页面元素及其操作方法进行分离,降低代码冗余
2、页面对象与用例分离,业务代码与测试代码分离,降低耦合性
3、不同层级分属不同用途,降低维护成本,提高复用率
4、代码可阅读性增强,整体流程更为清晰
这种模式适合页面级别的自动化,例如pc端、app测试、网页测试,只要操作是在页面上点来点去的,通用这种模式。
这个就是分层设计思想,测试领域用,开发就是用这个思想的,独立、好维护、又有关联性。但是不同的领域中,它的实现方式是有区别的。测试领域就叫做PageObject