Selenium自动化测试设计模式-PO模式

article/2025/10/24 2:32:06

前言:

在python自动化过程中,Selenium自动化测试中有一个名字常常被提及PageObject(思想与面向对象的特性相同),通过PO模式可以大大提高测试用例的维护效率。

不了解po设计模式的可自行百度

面向对象的特性:封装、继承、多态

传统测试脚本的弊端:

  • 测试脚本分离,维护成本高
  • 可扩展性差
  • 复用性低等

 1、实现案例

 1.1 工程目录

 listing:项目根目录

cofig:配置文件

data:用例数据

logs:日志记录

picture:图片存放(用于UI)

pylib:自定义库

report:报告

test_case:用例相关

main_test:程序运行入口

pytest.ini:pytest框架配置的标签

1.2 公共方法

封装BasePage:

1.由于做selenium自动化测试的时候需要webdriver的实例,我们可以将driver封装在init方法里面,并且需要加一个判断。判断当前对象有没有driver,没有driver就生成driver,有了driver就不再产生新的driver,这一步可以通过单例模式实现

2.将公共的操作如:点击操作、输入框、获取文本信息、获取元素属性、检测元素是否可见等方法封装在基类里面以便于直接调用方法

2.2 元素定位

 将元素定位表达式写在配置文件里面(yaml文件),然后编写业务代码的时候直接读取配置文件对应的元素表达式就好了

优点:如果有100个地方用到了一个元素,当元素定位表达式变了,只需要改配置文件就行了,不用100个地方每个都修改。

2.3业务代码

编写具体的业务代码,实现步骤:

1.登录,继承基类BasePage的方法,登录被测系统,并且return登录以后的页面,也就是下面截图里面的:

return ShopeeDraftPage()

2.具体页面操作

2.4 测试用例、报告

框架采用pytest,报告用的allure

要点:编写用例的时候调用对应业务代码的方法,然后将具体步骤拼接起来

 

 


http://chatgpt.dhexx.cn/article/VBQpsA7A.shtml

相关文章

电商项目测试实战(十一)后台业务场景测试设计

后台订单处理业务场景测试设计 流程步骤: 设计测试用例: 第一步:绘制流程图 1、确认业务中的操作 2、分析执行的顺序 3、按照业务方向进行连线 收到前台订单(商城->订单->订单列表)订单确认发货&#xff0…

电商项目测试实战(十)前台下单业务场景测试设计

前台下单业务场景测试设计 流程步骤: 设计测试用例: 第一步:需求分析 第二步:绘制流程图 1、确定业务中的操作 2、分析执行的顺序 3、按照业务方向进行连线 登录->选购商品->加入购物车->支付->确认订单->等待…

空调测试用例设计

** 空调测试用例设计 ** 界面测试 功能测试 可靠性测试 易用性测试 可维护性测试 兼容性测试 竞品测试 负载压力测试 稳定性测试 文档测试 界面测试: 空调外观的美观性空调外观尺寸是否和设计尺寸一致遥控按钮是否清晰和易懂显示温度及模式的显示屏是否显示设备…

测试场景设计-登录设计

来一波广告:欢迎关注测者说,测试理论知识尽在此处 面试中经常被问到有一个登录页面,你怎么设计测试场景,原来可以做到这么细致。 具体需求: 有一个登陆页面,(假如上面有2个textbox,一个提交按钮…

基于微信小程序的大学生心理健康测试设计与实现 .docx

目录 1 绪论 3 1.1 项目开发背景 3 1.2 项目开发意义 3 1.3 项目主要的内容 4 2 相关技术介绍及系统环境开发条件 5 2.1相关技术介绍 5 2.2系统环境开发条件 6 3 系统的需求分析与设计 6 3.1可行性分析 7 3.2需求分析 7 3.2.1系统总体概述 8 3.2.2功能性需求 8 3.2.3非功能性需…

测试设计技术

本文是根据测试架构师修炼之道(第二部分 突破:向软件测试架构师的目标迈进)整理的,主要分为5个小部分:测试设计四步走、测试设计软技能、设计技术之控制用例粒度、设计技术之自动化测试、设计技术之探索式测试。学习的…

数字系统的测试与可测试设计(DFT)

数字系统的测试与可测试设计(DFT) 背景介绍1 Defects1.1 名词解释1.2 缺陷种类1.2.1 Physical Defects物理缺陷1.2.2 Shorting Defects1.2.2.1 Gate-Oxide-Shorts1.2.2.2 Bridge1.2.2.1 Open1.2.2.1 Post-fabrication failures 2 Fault Modelling&#x…

2. 测试分析与测试设计

1. 为什么要做好测试分析和测试设计 以业务驱动测试:当下的测试圈子内,大家一直在强调自动化技术、DevOps等,这些是提高效率和质量的利器,但是所有有效的测试行为,都是建立在对业务需求有正确的理解和分析的基础上的。…

软件测试之---测试设计方法

二、测试设计方法(黑盒测试设计方法;白盒测试设计方法) 1、等价类划分法 1.1等价类划分法概念 将输入(输出)域划分成若干个子集合,从划分的子集合中选取代表数据,如果选取的数据测试没有问题&…

测试用例:四步测试设计法

读者提问: 阿常,上节我们讲到测试点不等同于测试用例,想请教你一下,如何把测试点加工成测试用例呢? 目前团队中测试人员针对同样的测试点,编写出来的测试用例各不相同,一千个人就有一千个哈姆雷…

常用测试设计方法

目录 1、按照开发阶段划分(1)单元测试(模块测试)(2)集成测试(组装测试)(3)确认测试(有效性测试)(4)系统测试(5)验收测试 2、按照代码运行划分(1&a…

大数据基础概述

大数据基础概述 1.前言2.大数据技术发展的三个阶段3.大数据技术面临的问题4.大数据技术数据的特点5.大数据对各方面的影响6.大数据技术的应用领域7.大数据技术的相关概念8.大数据技术的相关产业9.云计算和物联网 1.前言 三次信息浪潮 信息化浪潮发生时间标志解决问题代表企业第…

大数据概论

大数据big data指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新 处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大量数据资源为解决以前不可能解决的问题带来了可能性。1大数据不一定…

大数据技术概论

大数据技术概论 大数据技术的产生 大数据的基本概念 ●大数据简介: 大数据是规模非常巨大和复杂的数据集,传统数据库管理工具处理起来面临很多问题,比如说获取、存储、检索、共享、分析和可视化,数据量达到PB、EB或ZB的级别。 大数据有三个V: 一是数据量(Volume),数据量是持续…

2【源码】数据可视化:基于 Echarts + Java SpringBoot 实现的动态实时大屏范例-物流大数据

数据可视化大屏的出现,掀起一番又一番的浪潮,众多企业纷纷想要打造属于自己的“酷炫吊炸天”的霸道总裁大屏驾驶舱。 之前小伙伴们建议我出一些视频课程来学习Echarts,这样可以更快上手,所以我就追星赶月的录制了《Echarts - 0基…

客快物流大数据项目(九十一):ClickHouse的数据库引擎

​​​​​​​ 文章目录 ClickHouse的数据库引擎 一、MySQL引擎 ClickHouse的数据库引擎 ClickHouse提供了本机、M

客快物流大数据项目(九十二):ClickHouse的MergeTree系列引擎介绍和MergeTree深入了解

文章目录 ClickHouse的MergeTree系列引擎介绍和MergeTree深入了解 一、MergeTree系列引擎介绍

客快物流大数据项目(三十二):安装CDH-6.2.1和初始化CDH服务所需的MySQL库

安装CDH-6.2.1和初始化CDH服务所需的MySQL库 一、安装CDH-6.2.1 yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server 二、初始化CDH服务所需的MySQL库 在MySQL中依次创建监控数据库、Hive数据库、Hue数据库 操作步骤 说明 1

大数据实时+离线项目架构----智慧物流大数据平台(超流行框架!)

智慧物流大数据平台 文章目录 智慧物流大数据平台一、项目背景二、逻辑架构三、解决方案技术亮点: 数据流转四、项目的技术选型4.1流式处理平台4.2 分布式计算平台4.3 海量数据存储 框架软件版本 一、项目背景 本项目基于一家大型物流公司研发的智慧物流大数据平台。该物流公司…