Web自动化测试11- 初识Page Object设计模式
Page Object的缩写是PO中文翻译为”页面对象模式“。它是一种设计模式目的是创建Web UI对象库即涉及的每一个页面都被定义为一个单独的类。类中应该包含页面元素对象和处理这些元素对象所需要的方法等。核心思想页面即类操作即方法分层把同属一个页面的元素都分装在一个页面中优点PO提供了页面元素操作和业务流程相分离的模式使测试代码结构比以前更清晰可读性更强更方便地重用对象和方法对象库可以通过集成不同的工具类来达到不同的测试目的方便自动化测试的维护和更新若某个页面的元素需要变更仅需要修改封装好的页面元素类而不用修改测试类PO项目的框架结构Base层Common层Data层Logs层PageObject层Reports层TestCases层config.ini其中的核心层是PO层围绕着PO层又新增了其他层级。采用结构化模型可以使自动化测试越来越清晰也会降低后期维护成本提高项目自动化的程度Base层Base层封装了项目需要的基本方法如元素click操作、send keys操作、调用Java space脚本的方法和其他一些与基本浏览器相关的操作等Base层的一些方法调用了Common层的模块方法需要先熟悉Common层代码结构Common层Common层主要包含处理Excel文件的方法获取项目路径、测试系统URL的信息和日志功能的实现方式。PageObject层PageObject层是核心层该层不但涉及代码技术还涉及对项目业务的分析进而对相关的页面进行分析。在业务分析方面首先分析要进行po的页面。其次对每个范围内的页面进行详细分析TestCases层TestCases层的作用是管理测试用例和执行测试相当于测试的总入口。在项目中该层可以存放测试套件和测试用例的相关代码。Data层项目中的data目录用于存放测试数据模块该模块用于维护测试数据Date层通常有以下几点需要注意数据文件类型的选型根据项目的实际需要灵活选择。举例说明在测试场景中有时需要测试上传功能在测试数据中需要清楚定义数据字段等头部信息而且上传文件的信息可能比较大。此时用CSV文件就比用excel文件优势明显原因是CSV保存的是文本文件而excel保存的是二进制文件从软件的可操作性或易用性来说excel文件比不上CSV文件而在大数据量场景下excel文件没有CSV文件高效数据的维护要有条理性关联性比较强的测试数据可以存放在同一个工作表中便于维护。Logs层Logs层数据主要存放在项目运行过程中产生的日志文件中。日志文件记录了每次测试执行过程中的详细信息便于分析定位测试过程中的异常。框架的日志在一定程度上反映了框架是否运行在正确的轨道上。关于日志的维护有一些建议如下日志等级或频度要设置得合理。在测试用例时需要对要打印的日志进行筛选对于一些重点操作最好打印日志建议给框架中添加一些系统级别的日志如对系统资源进行监控的日志这样可以便于对一些非框架问题进行定位日志的管理如定期清理日志Reports层Reports层数据主要存放在项目执行过程中产生的测试报告文件中测试报告是对测试结果的总结。Reports层的报表可能不只是一个测试报告文件那么简单还需要探究报告所呈现的内容的准确性、完整性和持续性等而且后续报表能力的迭代不能影响之前的测试结果或报告。如果自动化测试项目的周期比较长建议对测试结果进行数据存储如将数据存储在MongoDB或者MySQL数据库中等配置文件config.ini该文件包含了整个项目的配置项。如果后续还需要添加其他项目直接在该文件中进行维护即可。建议将驱动driver存放在项目根目录下。

相关新闻

西安招聘系统源码实战开发:从架构到部署完整指南

西安招聘系统源码实战开发:从架构到部署完整指南

西安招聘系统源码实战开发:从架构到部署完整指南 在开发一个本地化招聘系统时,技术选型往往决定了系统的扩展性与维护成本。本文以“西安招聘系统源码”为例,分享一套基于 Spring Boot MyBatis Plus MySQL 的后端、UniApp 用户端和 Vue El…

2026/9/30 22:37:20 阅读更多 →
C语言结构体内存对齐与sizeof计算实战解析

C语言结构体内存对齐与sizeof计算实战解析

结构体这三个字,写过 C 或者 C 的人都不陌生,可真要回答“这个结构体占多少字节”“为什么调换两个成员顺序之后 sizeof 就变了”这类问题,能一口答上来的人并不多。我见过不少写了三四年嵌入式代码的人,遇到结构体在内存中的存储…

2026/9/30 20:50:56 阅读更多 →
Figma API 密钥获取及 MCP 配置:TaoToken 统一 Key 接入 settings.json 骨架

Figma API 密钥获取及 MCP 配置:TaoToken 统一 Key 接入 settings.json 骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/30 13:49:54 阅读更多 →

最新新闻

连点器全攻略:鼠标自动连点、键盘输入与免费工具筛选

连点器全攻略:鼠标自动连点、键盘输入与免费工具筛选

连点器这三个字一出来,很多人第一反应是"游戏挂机脚本",但说实话我用了这么多年,鼠标自动连点真正帮我省下大把时间的场景,反而是那些枯燥到让人怀疑人生的重复工作:一遍遍点"下一步"、批量填表、…

2026/10/1 12:50:58 阅读更多 →
Jev模型结构化输出实战:JSON Schema约束如何让判断题成本直降5倍

Jev模型结构化输出实战:JSON Schema约束如何让判断题成本直降5倍

1. 从一张账单说起:为什么同一个判断题,成本能差 5 倍 先把场景摆出来。我最近在做一个批量内容审核的小工具,核心逻辑特别简单:给一段文本,让模型判断它是否属于某个类别,输出只有两个值——是或否。这种任…

2026/10/1 12:50:58 阅读更多 →
ECC公钥压缩与非压缩格式:汽车电子选型与避坑指南

ECC公钥压缩与非压缩格式:汽车电子选型与避坑指南

1. 汽车电子里的ECC公钥,为什么格式值得拿出来单聊做车载安全的人应该都有感触:ECC(椭圆曲线密码)在车联网和汽车电子里的应用已经非常密集,V2X车路协同、OTA升级签名、安全启动、SecOC报文认证、PKI证书链&#xff0c…

2026/10/1 12:50:58 阅读更多 →
IEC 62351-100-3一致性测试全解析:从安全机制到工程实践

IEC 62351-100-3一致性测试全解析:从安全机制到工程实践

拿到IEC 62351-100-3一致性测试任务的时候,我第一反应是找标准原文、打开产品功能清单,准备一项一项打勾。真正进了实验室才发现,这套测试折腾的根本不是“功能是否正常”,而是“产品对安全机制的理解是否和标准一致”。业务功能正…

2026/10/1 12:50:58 阅读更多 →
Wine+FEX-Emu+DXMT:在Apple Silicon上运行Windows游戏的完整指南

Wine+FEX-Emu+DXMT:在Apple Silicon上运行Windows游戏的完整指南

1. 从“Madeira”这个名字说起:它到底指什么第一次看到“Madeira”这个词,很多人第一反应是葡萄牙那个盛产葡萄酒的海岛,或者是一道叫“马德拉酱汁”的西餐配料。但在技术圈里,尤其是围绕 Wine、FEX-Emu、DXMT 这些关键词的讨论中…

2026/10/1 12:50:58 阅读更多 →
Ubuntu Desktop 安装全流程避坑指南:从分区到驱动配置

Ubuntu Desktop 安装全流程避坑指南:从分区到驱动配置

Ubuntu Desktop 的安装,单看流程图确实简单到让人提不起兴趣:下镜像、写U盘、引导、分区、下一步。但真正动手装过十几台机器之后你会发现,翻车的点几乎全在"下一步"之外——UEFI 和 Legacy 引导混着用导致装完进不去系统、硬盘分区…

2026/10/1 12:49:58 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →