1. 认识 PageObject
1.1 PO首次提出
PO的思想最早是2013年由IT大佬Martin Flower提出的:
没错,就是他

--- 没错,就是他 ---
在他的文章里有这样一张经典样图,图片中展示了测试代码中直接操作HTML元素和使用PO模式将page对象封装成一个HTML页面,通过特定方法来操作元素的对比;如下图:

1.2 PO原则解读
我们知道,PO主要就是应用在UI自动化测试上(Web端和App端均适用),因此2015年,Selenium官方给出了PO的设计原则说明:PageObjects · SeleniumHQ/selenium Wiki · GitHub

对官方的原则进行解读,我们可以得到如下的信息:
1.2.1 方法意义
-
用公共方法代表UI所提供的功能
如企业微信的通讯录页面,其中有“添加成员”、“批量导入,导出”、“设置所在部门”、“删除”等功能,这些功能都可以封装成通讯录这个UI界面所提供的方法;当然,部分数据较多或者较为复杂,复用性也比较高的话,例如添加成员,也可以单独抽离出来做一个page。

-
方法应该返回其他的PageObject或者返回用于断言的数据
我们既然以页面为对象进行业务操作,那么一个方法结束后必然要有返回值:
要么返回一个页面,这个页面可以是当前页(因为可能还要在这个页面进行其他操作),可以是其他页面(我们操作某个方法后很可能会跳转到另一个页面进行下一步操作);
要么返回需要断言的值,测

最低0.47元/天 解锁文章
763

被折叠的 条评论
为什么被折叠?



