昨天看了一个testerhome的公开课,关于Page Object的一些理念,虽然公开课不会讲太细,但是也表达了一些理念,提供了一些设计思路,希望能在以后工作中不断探索,下面分享一下内容
Page Object的几个原则:
方法意义:
1.用公共方法代表UI所提供的服务
2.方法应该返回其他的PageObject或者返回用于断言的数据
3.同样的行为不同的结果可以建模为不同的方法
4.不要再方法内加断言
字段意义:
1.不要暴露页面内部的元素给外部
2.不需要建模UI内的所有元素
PO模式封装的主要组成元素:
Page对象:完成对页面的封装
Driver对象:完成对Web,android,IOS,接口的驱动
测试用例:调用Page对象实现业务并断言
数据封装:配置文件和数据驱动
Utils:其他功能封装,改进原生框架不足
BasePage的封装类比如:
__init__()
find()
find_and_click()
handle_exception()