Web自动化测试—测试用例流程设计
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快
一、测试用例通用结构回顾
1.1、现有测试用例存在的问题
- 可维护性差
- 可读性差
- 稳定性差
1.2、用例结构设计
- 测试用例的编排
- 测试用例的项目结构
1.3、自动化测试用例流程-回顾

二、web自动化测试用例流程设计
| 类型 | 对应框架 | 作用 |
| 前置 | setup_class | 准备测试数据,初始化实例对象 |
| setup | 恢复用例初始状态 | |
| 后置 | teardown_class | driver进程退出 |
| teardown | 恢复用例初始状态 |
2.1、恢复用例初始状态
- 用例1 执行过程经过A->B->C 三个页面
- 用例2 执行过程经过A->B->C 三个页面
- 用例1 执行完成之后执行用例2
问题1:单条用例执行完成之后如果不恢复下一条用例的开始状态(回复用例初始页面),则会影响下一条用例的执行。
- 解决方案:
- 每条用例执行完成都quit()(影响执行效率)
- 封装一个方法,用例执行完成之后回到首页
2.2、数据清理
- 清理策略
- 在前置处理中执行
- 在后置处理中执行
- 清理方式
- 调用业务接口
- 通过UI自动化方式操作
- 连接数据库执行SQL(不推荐)
三、web自动化测试用例项目结构
3.1、python 项目
- page: 页面对象
- testcases: 测试用例
- utils: 公共工具
- log: 日志信息
3.2、Java项目
- main/java- com.xxx.page: 页面对象- com.xxx.utils: 公共工具- resources: 日志配置
- test/java- com.xxx: 测试用例
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

相关文章:
Web自动化测试—测试用例流程设计
🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、测试用例通用结构回顾 1.1、现有测试用例存在的问题 可维护性差可读性差稳定性差 1.2、用例结构设计 测试用例的编排测试用例的项目结构 1.3、自动化测试…...
HTML全局属性与Meta元信息详解:优化网页的灵魂
目录 前言 一、HTML中的全局属性 常用的全局属性 二、Meta元信息标签:网页背后的重要配置 常用的Meta标签 三、Meta元信息的进阶使用 总结 前言 在HTML开发中,有一些属性和标签是全局性的,能够影响网页的多个方面,比如页面的…...
day001 折半查找/二分查找
day001 折半查找/二分查找 适用场景顺序表或者顺序数组 时间复杂度:log2N 算法思路 pre: 下限为0,上限为数组长度-1, 下限小于等于上限进行循环 if 比较目标值和中间值,if 大于: 则下限中间值索引1else: 小于: 则上限中间值索…...
Linux 资源监控:优化与跟踪系统性能
在 Evoxt,我们深知有效的 Linux 资源监控对于优化服务器性能至关重要。本指南将介绍关键工具和策略,帮助您监控 CPU、内存、磁盘和网络使用情况,确保您的 Linux 系统始终保持高效运行。 实时系统监控 使用 top(交互式系统监控&am…...
java安全中的类加载
java安全中的类加载 提前声明: 本文所涉及的内容仅供参考与教育目的,旨在普及网络安全相关知识。其内容不代表任何机构、组织或个人的权威建议,亦不构成具体的操作指南或法律依据。作者及发布平台对因使用本文信息直接或间接引发的任何风险、损失或法律纠…...
Node.js调用DeepSeek Api 实现本地智能聊天的简单应用
在人工智能快速发展的今天,如何快速构建一个智能对话应用成为了开发者们普遍关注的话题。本文将为大家介绍一个基于Node.js的命令行聊天应用,它通过调用硅基流动(SiliconFlow)的API接口,实现了与DeepSeek模型的智能对话…...
分布式服务框架 如何设计一个更合理的协议
1、概述 前面我们聊了如何设计一款分布式服务框架的问题,并且编码实现了一个简单的分布式服务框架 cheese, 目前 cheese 基本具备分布式服务框架的基本功能。后面我们又引入了缓存机制,以及使用Socket替代了最开始的 RestTemplate。并且还学习了网络相关…...
Unity使用iTextSharp导出PDF-02基础结构及设置中文字体
基础结构 1.创建一个Document对象 2.使用PdfWriter创建PDF文档 3.打开文档 4.添加内容,调用文档Add方法添加内容时,内容写入到输出流中 5.关闭文档 using UnityEngine; using iTextSharp.text; using System.IO; using iTextSharp.text.pdf; using Sys…...
Kafka因文件句柄数过多导致挂掉的排查与解决
一、问题现象 在k8s集群中部署了多个服务,包括Kafka、TDengine集群和Java等。这些服务使用NFS作为持久化存储方案。最近遇到了一个问题:Kafka频繁报错并最终挂掉。错误日志如下: 2025-02-09T09:39:07,022] INF0 [LogLoader partition__cons…...
【LeetCode Hot100 多维动态规划】最小路径和、最长回文子串、最长公共子序列、编辑距离
多维动态规划 机器人路径问题思路代码实现 最小路径和问题动态规划思路状态转移方程边界条件 代码实现 最长回文子串思路代码实现 最长公共子序列(LCS)题目描述解决方案 —— 动态规划1. 状态定义2. 状态转移方程3. 初始化4. 代码实现 编辑距离ÿ…...
PRC框架-Dubbo
RPC框架 RPC(Remote Procedure Call,远程过程调用)框架是一种允许客户端通过网络调用服务器端程序的技术。以下是常见的RPC框架及其特点: 1. 基于HTTP/REST的RPC框架 特点:简单易用,与Web开发无缝集成&am…...
智能检测摄像头模块在客流统计中的应用
工作原理 基于视频分析技术:智能检测摄像头模块通过捕捉监控区域内的视频画面,运用图像识别算法对视频中的人体进行检测、跟踪和分析。可以识别出人体的轮廓、姿态等特征,进而区分不同的个体,实现对客流的统计。 基于红外感应技…...
[LLM面试题] 指示微调(Prompt-tuning)与 Prefix-tuning区别
一、提示调整(Prompt Tuning) Prompt Tuning是一种通过改变输入提示语(input prompt)以获得更优模型效果的技术。举个例子,如果我们想将一条英语句子翻译成德语,可以采用多种不同的方式向模型提问,如下图所示…...
【CubeMX+STM32】SD卡 U盘文件系统 USB+FATFS
本篇,将使用CubeMXKeil, 创建一个 USBTF卡存储FatFS 的虚拟U盘读写工程。 目录 一、简述 二、CubeMX 配置 SDIO DMA FatFs USB 三、Keil 编辑代码 四、实验效果 串口助手,实现效果: U盘,识别效果: 一、简述 上…...
在JVM的栈(虚拟机栈)中,除了栈帧(Stack Frame)还有什么?
在JVM的栈(虚拟机栈)中,除了栈帧(Stack Frame),还有其他一些与方法调用相关的重要信息。栈的主要作用是存储方法调用的执行过程中的上下文信息,栈帧是其中最关键的组成部分。 栈的组成 栈帧&am…...
# 解析Excel文件:处理Excel xlsx file not supported错误 [特殊字符]
解析Excel文件:处理Excel xlsx file not supported错误 🧩 嘿,数据分析的小伙伴们!👋 我知道在处理Excel文件的时候,很多人可能会遇到这样一个错误:Excel xlsx file not supported。别担心&…...
图片下载不下来?即便点了另存为也无法下载?两种方法教你百分之百下载下来
前言,我要讲的是网站没有禁鼠标右键,可以右键,也可以打开控制台,图片也不用付费这种。 一、用鼠标按住图片直接往桌面拖动,也可以打开开发者工具,在里面往外拖。 二、这个方法很有意思,在电脑的…...
Unity项目实战-Player玩家控制脚本实现
玩家控制脚本设计思路 1. 代码演变过程 1.1 初始阶段:单一Player类实现 最初的设计可能是一个包含所有功能的Player类: public class Player : MonoBehaviour {private CharacterController controller;private Animator animator;[SerializeField] …...
CP AUTOSAR标准之ICUDriver(AUTOSAR_SWS_ICUDriver)(更新中……)
1 简介和功能概述 该规范指定了AUTOSAR基础软件模块ICU驱动程序的功能、API和配置。 ICU驱动程序是一个使用输入捕获单元(ICU)来解调PWM信号、计数脉冲、测量频率和占空比、生成简单中断和唤醒中断的模块。 ICU驱动程序提供服务 信号边缘通知控制唤醒中断周期信号时间测…...
Python3 ImportError: cannot import name ‘XXX‘ from ‘XXX‘
个人博客地址:Python3 ImportError: cannot import name XXX from XXX | 一张假钞的真实世界 例如如下错误: $ python3 git.py Traceback (most recent call last):File "git.py", line 1, in <module>from git import RepoFile &quo…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
