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中加入断言,应该放在测试用例中。

原文地址:https://www.cnblogs.com/crystal1126/p/12213810.html