【自动化测试】之PO模式介绍及案例

本文介绍了PageObject(PO)设计模式在IT测试中的应用,包括三层结构(基础的BasePage对象层、首页操作的Page层和业务逻辑的scripts层),展示了如何创建和组织测试代码,以及如何执行自动化测试并生成测试报告。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

目录

概念

PO三层模式:

1. 构建基础的 BasePage 对象层

2. 构建首页的 Page 层(操作层)

3.构建业务层

常用断言方法:

4. 构建用例集,执行文件,输出自动化测试报告

 测试报告模板


概念

PO(Page Object)设计模式是一种面向对象( 页面对象)的设计模式,将测试对象及单个的测试步骤封装在每个Page对象以page为单位进行管理。

优点

  1. 可以使代码复用
  2. 降低维护成本
  3. 提高程序可读性和编写效率。
  4. 可以将页面定位和业务操作分开,测试对象(元素对象)和测试脚本(用例脚本)
  5. 提高用例的可维护
非PO模式 PO模式
面向过程的线性脚本 POM把页面元素定位和业务操作流程分开,实现松耦合
复用性性差 UI元素的改变不需要修改业务逻辑代码,只需要找到对应的PO页修改定位即可,数据代码分离
维护性差 PO能使代码更具有可读性,高复用性、可维护性

PO三层模式:

主要分三层:
1.base层(对象库层):page页面一些公共的方法。如:初始化、元素定位、点击、输入、获取文本、截图等方法;
2.page层(操作层):封装对元素的操作。将每个涉及的元素操作单独封装一个操作方法,然后根据需求组装操作步骤,如登录方法=输入帐号+输入密码+点击登录三个操作进行组装;
3.scripts层(业务层):导包调用 page页面,使用单元测试框架对业务逻辑进行封装测试。如:实现登录,直接调用page组装的登陆方法即可。
三者的关系:page层继承base层,scripts层调用page层

案例:

项目结构介绍:

创建项目,如下图

1. 构建基础的 BasePage 对象层

创建driver,浏览器驱动封装

# encoding='UTF-8'
# 浏览器启动
from selenium import webdriver
def browser():
    driver=webdriver.Chrome()
    # driver.get("http://www.baidu.com")
    return driver

创建myuni.py文件,初始化封装,

定义一个继承自unittest.TestCase的测试用例类

定义setUp和tearDown,这两个方法与junit相同,即如果定义了则会在每个测试case执行前先执行setUp方法,执行完毕后执行tearDown方法。

# encoding='UTF

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值