前言
Page Object(页面对象)模式,是Selenium实战中最为流行,并且被自动化测试同学所熟悉和推崇的一种设计模式之一。在设计测试时,把页面元素定位和元素操作方法按照页面抽象出来,分离成一定的对象,然后再进行组织。
相信每个做自动化测试的同学,一定会遇到这样一个非常头疼的问题,那就是页面变化,如果没有使用Page Object设计模式,这就意味着以前的定位元素方法不能用了,需要重新修改元素定位方式。你需要一个一个从测试脚本中把需要修改的元素定位方式找出来,然后再进行修改。这势必会使脚本维护的成本变高,显然这样的自动化脚本就不会有人愿意使用。
那这时我们使用page object模式就可以解决这个问题了。
PageObject 的优点
减少代码冗余
业务和实现分离
降低代码维护成本
Page Object模式
Page Object 见名知意,就是页面对象,并将页面元素定位方法和元素操作进行分离。
在实际自动化测试实战过程中,我们一般对脚本的实现分为三层:
对象层:用于存放页面元素定位和控件操作。
逻辑层:则是一些封装好的功能用例模块。
业务层:则是我们真正的测试用例的操作部分。
使用 Page Object 类来分离页面元素
我们以360影视登录页为测试对象,先创建一个包com.pageobject.demo
对象层
首先我们新建一个类LoginPage,登录页面内编写需要操作的元素定位方式和控件操作,具体代码示例如下:
packagecom.page