第 8 章 Page Object - Selenium3 自动化测试

第 8 章 Page Object

Page Object 是 UI 自动化测试项目开发实践的最佳设计模式之一,它的主要特点体现在对界面交互细节的封装上,使测试用例更专注于业务的操作,从而提高测试用例的可维护性。

本教程的练习实践源码请点击下载

8.1 认识 Page Object

当为 Web 页面编写测试时,需要操作该 Web 页面上的元素。然而,如果在测试代码中直接操作 Web 页面上的元素,那么这样的代码是极其脆弱的,因为 UI 会经常变动。
Page Object 原理如图 8-1 所示。


page 对象的一个基本经验法则是:凡是人能做的事,page 对象通过软件客户端都能做到。因此,它应当提供一个易于编程的接口,并隐藏窗口中底层的部件。当访问一个文本框时,应该通过一个访问方法(Accessor Method)实现字符串的获取与返回,复选框应当使用布尔值,按钮应当被表示为行为导向的方法名。page 对象应当把在 GUI 控件上所有查询和操作数据的行为封装为方法。
一个好的经验法则是,即使改变具体的元素,page 对象的接口也不应当发生变化。
尽管该术语是 page 对象,但并不意味着需要针对每个页面建立一个这样的对象。例如,页面上有重要意义的元素可以独立为一个 page 对象。经验法则的目的是通过给页面建模,使其对应用程序的使用者变得有意义。

Page Object 是一种设计模式,在自动化测试开发中应遵循这种设计模式来编写代码。

Page Object 应该遵循以下原则进行开发:

● Page Object 应该易于使用。
● 有清晰的结构,如 PageObjects 对应页面对象,PageModules 对应页面内容。
● 只写测试内容,不写基础内容。
● 在可能的情况下防止样板代码。
● 不需要自己管理浏览器。
● 在运行时选择浏览器,而不是类级别。
● 不需要直接接触 Selenium。

猜你喜欢

转载自www.cnblogs.com/MarlonKang/p/12469355.html