本文节选自霍格沃兹测试学院内部教材
为 UI 页面写测试用例时(比如 web 页面,移动端页面),测试用例会存在大量元素和操作细节。当 UI 变化时,测试用例也要跟着变化,
PageObject 很好的解决了这个问题。
使用 UI 自动化测试工具时(包括 selenium,appium 等),如果无统一模式进行规范,随着用例的增多会变得难以维护,而 PageObject
让自动化脚本井井有序,将 page 单独维护并封装细节,可以使 testcase 更稳健,不需要太多改动。
使用
具体做法:把元素信息和操作细节封装到 Page 类中,在测试用例上调用 Page
对象(PageObject),比如存在一个功能“选取相册标题”,需要为之建立函数selectAblumWithTitle()
,函数内部是操作细节findElementsWithClass('album')
等:
以选“取相册标题”举例,伪代码如下:
selectAblumWithTitle() { #选取相册 findElementsWithClass('album') #选取相册标题 findElementsWithClass('title-field') #返回标题内容 return getText()
}
PageObject 的主要原则是提供一个简单接口
(或者函数,比如上述的sel