案例抽象化:
操作细节和 结果验证分离
封装,对外提供方法,不提供操作细节
官方文档:
https://www.selenium.dev/documentation/en/guidelines_and_recommendations/page_object_models/
作者的blog
https://martinfowler.com/bliki/PageObject.html
原则:
原则解读:
1、用公共方法代表UI所提供的功能
2、A页面到B页面需要return 到B,或者返回用于断言的数据
3、同样的行为不同的结果可以建模为不同的方法
4、把页面之间的逻辑关系单独写出来,数据、操作、断言、定位分离
5、页面提供的方法或元素在一个独立的类中,不能散在整个测试中
6、内部元素不要暴露在外