Page Object设计模式(1)
1.什么是po模式
举个例子:有一页面,想要将a元素改成b元素, 如果页面元素变了,那么断言也要跟着变的话,就要改两处代码,操作非常令人困扰,传统设计模式下如下图:
我们将案例抽象化,就是po模式:
po模式的核心:
1)对外只提供方法,不提供操作细节,当页面元素变动的时候只需要改变操作细节,不需要改变对外暴露的方法
2)不对所有的操作细节封装,只对重要的操作细节进行封装
3) 只为主要的东西建模,不为次要的东西进行建模
4) 当我们从一个页面跳到另一个页面的时候,我们应该返回到这个页面(跳转到的当前页面)
5) 如果需要一个断言,断言和page分开
另外:
Po不应该只用到selenium和html页面,适用于方方面面,只要出现了UI界面,都可以利用po封装
主要是提倡我们封装细节,封装成接口暴露出来供我们调用
PO的六大原则:
只为页面中重要的元素创建page类
如果页面A导航到页面B,PageA应当return Page B