web自动化测试的PO模式是什么?

1.什么是PO模式?

  PO是Page Object的缩写

  PO模式是自动化测试项目开发实践的最佳设计模式之一

2.PO模式的核心思想?

  好处1:通过对界面元素的封装-------减少冗余代码,提高可读性

  好处2:若元素定位发生变化,只需调整页面元素的封装的代码------提高了测试用例的维护性

3.PO模式的业务分为多少层?

  对象库层:封装定位元素的方法

  操作层:封装对元素的操作

  业务层:将一个或多个操作组合起来,实现一个业务功能

    实例:实现登录功能--部分代码

    对象库层:

# 元素定位方法---定位到元素,返回
# 定位返回用户名对象
def find_username(self):
    username = self.driver.find_element_by_id("username")
    return username

    操作层:

# 封装元素操作
    # 用户名输入操作
    def input_username(self, username):
        self.login_page.find_username().send_keys(username)

    业务层:

 # 组装业务操作
    def login_proxy(self, username):
        self.login_p.input_username(username)

4.使用PO模式的好处有哪些?

  减少代码冗余

  业务流程清晰

  业务代码和测试代码被分开,降低耦合性

  维护成本降低

  

原文地址:https://www.cnblogs.com/lemonBaby/p/11923045.html

时间: 2024-11-07 19:48:33

web自动化测试的PO模式是什么?的相关文章

web自动化针对PO模式进行二次封装之 basepage

在 PO 模式当中, 我们做到了 页面对象 与 测试用例 的 分离,但在页面对象编写时,我们仍然还有优化的空间.页面对象有一些共同的基本操作 ,可以封装起来,并可以在基本操作当中加上 日志 和 异常截图 的处理.比如说我们在查找元素时,都需要等待,在PO模式当中, 需要都写上 等待和查找元素,那么就可以将其封装起来,包括其它的一些比如:文本获取.元素属性获取.鼠标操作.窗口切换.iframe切换. alert弹框关闭. 文件上传.下拉框选择..... 当脚本运行的过程中,出现了用例失败,我们希望

Sahi ---实现 Web 自动化测试

Sahi 是 Tyto Software 旗下的一个基于业务的开源 Web 应用自动化测试工具.Sahi 运行为一个代理服务器,并通过注入 JavaScript 来访问 Web 页面中的元素.Sahi 支持 HTTPS 并且独立于 Web 站点,简单小巧却功能强大.它相对于 Selenium 等自动化测试工具,在动态 ID 元素查找和隐式页面等待处理等方面具有一定的优势.选择 Sahi 工具来实现具体 Web 项目的自动化测试是一个很不错的选择. Web 测试背景 随着 Web 技术和互联网的发

Selenium(ThoughtWorks公司开发的web自动化测试工具)

Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE(7.8.9).Mozilla Firefox.Mozilla Suite等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建衰退测试检验软件功能和用户需求.支持自动录制动作和自动生成 .Net.Java.Perl等不同语言的测试脚本.Selenium 是ThoughtWor

使用 Sahi 实现 Web 自动化测试

Sahi 是 Tyto Software 旗下的一个基于业务的开源 Web 应用自动化测试工具.Sahi 运行为一个代理服务器,并通过注入 JavaScript 来访问 Web 页面中的元素.Sahi 支持 HTTPS 并且独立于 Web 站点,简单小巧却功能强大.它相对于 Selenium 等自动化测试工具,在动态 ID 元素查找和隐式页面等待处理等方面具有一定的优势.选择 Sahi 工具来实现具体 Web 项目的自动化测试是一个很不错的选择. Web 测试背景 随着 Web 技术和互联网的发

Web自动化测试理论知识

Web 自动化理论知识 1.自动化测试概述概念:用工具代替/辅助人工完成完成软件测试活动的过程特点:    可以对程序的新版本自动执行回归测试    可以执行一些手工测试困难或不可能进行的测试    可以更好地利用资源    测试具有一致性和可重复性误区:    期望自动化测试发现大量新故障    安全性错觉    自动化测试的维护开销 2.自动化测试的优势重复多次执行测试时节省很多时间提高测试覆盖率和测试精度实现自动化回归测试减少工作量减少手工测试人为产生的错误 提供规范化的过程和一致性更好的

【基于Puppeteer前端自动化框架】【二】PO模式,断言(如何更简便逻辑的写测试代码)

一.概要 前面介绍了Puppeteer+jest+TypeScript做UI自动化,但是这知识基础的,我们实现自动化要考虑的很多,比如PO模式,比如配置文件,比如断言等等.下面就来一一实现我是怎么用puppeteer 做UI自动化的 二.断言 (一)需要依赖的安装包 依赖包 命令 Jest npm install jest --save-dev @types/jest npm install @types/jest --save-dev expect-puppeteer npm install

Selenium - Web自动化测试的基本操作实现

Selenium - Web自动化测试的基本操作实现 摘自https://www.jianshu.com/p/0d5cc5503f91 摘要:  之前用Selenium做UI自动化测试从初学到熟练碰到过很多问题,这里就不一一细说了,所以把最基本的操作都写在了一起,包括:控制浏览器,操作元素,鼠标事件,键盘事件,设置元素等待,多表单/窗口切换,警告框处理,上传文件,操作Cookie,调用JavaScript控制浏览器滚动条,窗口截图. 时间紧急,没有仔细整理,望读者见谅~~ 目录 1.控制浏览器

Appium基于Python APP自动化测试框架 -- PO

关于对自动化测试框架PO的认识详见之前我写的博客:http://www.cnblogs.com/hanxiaobei/p/6755329.html 本篇主要是说appium自动化测试如何有PO的设计思想来实现. PO模型的目录结构: 其中,main.py为框架的主入口,test_creat.py调用creat_page.py,creat_page.py调用base_page.py. PO代码示例: main.py 1 import unittest 2 import HTMLTestRunner

Web自动化测试工具调研

背景 Web自动化测试越来越被重视, 因为现在Web已经是工程化的状态. 如何通过工具测试, 保证Web开发的质量,提升开发效率,是Web工具的诞生的来由. Web测试分为以下几个方面: 1. 界面测试 测试界面是否正常,这是前端测试最基础的环节. 2. 功能测试 测试功能操作是否正常,由于涉及交互,这部分测试比界面测试会更复杂 3. 性能测试 页面性能越来越受到关注,并且性能需要在开发过程中持续关注,否则很容易随着业务迭代而下降. 4. 安全性测试 测试Web界面和WebServer的安全性,