PO模式代码结构
web自动化用到的项目设计模式最成熟的就是pageobject设计模式,简称PO模式。
1、框架元素
主要分为三层:
case:用例层封装:test_xx.py针对每个页面写测试用例
case/conftest.py:局部的配置文件,只在case目录下生效,可以写一些用例的准备工作,如:登录
common:底层封装,base.py文件重新封装了selenium的一些基本操作方法。
Page:页面层封装:xx_page.py对每个页面的操作封装,继承base.py基类方法,主要为写用例做准备,把每个页面用到的方法和行为事件封装起来,便于维护。
conftest.py:全局的配置文件。
还可以包含一些其他元素:如数据封装(数据驱动)、测试报告。
2、原则
(1)方法的意义
用公共方法代表UI所提供的功能
方法应该返回其他的PageObject对象或者返回用于断言的数据
同样的行为不同的结果可以建模为不同的方法
不要在方法内断言
(2)字段意义
不要暴露页面内部的元素给外部
不需要建模UI内所有的元素
不要在PageObject中加入断言,应该放在测试用例中。
posted on 2020-01-19 15:14 crystal1126 阅读(708) 评论(0) 编辑 收藏 举报