自动化测试-自动化测试用例流程设计

文章目录

  • [1. 用例结构设计](#1. 用例结构设计)
  • 总结

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

1. 用例结构设计

实际在项目中进行自动化测试,

需要考虑 项目结构,用例结构,设计模式 选择,三者结合,整合为较基本的自动化测试结构;

1.1 测试用例的编排

何为测试用例编排,就是在执行测试方法前进行前置或后置处理 ,为下一步测试用例准备环境条件;

可以进行类级别 或 方法级别的 前置和后置方法处理;

  • 前置处理:
    setup_class/BeforeAll 作用:
    1)准备测试数据
    2)实例的初始化
    setup/BeforeEach 作用:
    1)恢复用例初始状态
    2)数据清理(也可以在用例级别中完成处理)
  • 后置处理:
    teardown_class/AfterAll 作用:处理 driver进程退出等操作;
    teardown/AfterEach 作用:
    1)恢复用例初始状态
    2)数据清理(也可以在用例级别中完成处理)

恢复用例初始状态

一般使用场景:UI自动化测试

1.解释:单条用例执行完后,需要恢复环境初始状态,不然会影响到下一条用例执行;

示例:如果执行第一条用例,执行用例步骤从A页面→C页面,下一条用例也需要从A页面开始执行,不恢复初始状态到A页面,影响下面测试用例执行;

2.解决方法-如何恢复用例初始状态

a: 每条用例执行完成都quit()-退出页面(下一次用例执行还需要进入页面,影响执行效率)

b: 封装一个方法,用例执行完成之后回到首页

示例:可以封装一个get()方法, 调用后直接跳转到初始页面即可;

测试用例数据清理

清理策略

1)在前置处理中执行

2)在后置处理中执行

清理方式

1)调用业务接口

判断清理操作是否容易,如果不易清理,可以使用业务接口;

如:页面没有删除按钮,可以考虑调用业务删除接口;在数据清理中可以调用业务接口;

2)通过UI自动化方式操作

直接点击页面删除按钮,进行数据处理;

3)连接数据库执行SQL(不推荐)

推荐:数据库-支持查询操作

【注意】

测试步骤和断言不推荐调用业务接口,不符合用户操作逻辑;

UI自动化执行为了模拟用户操作UI界面的核心过程,主要负责用户主要操作的过程;

1.2 测试用例的项目结构

python 自动化项目基础结构

  • page: 页面对象
  • testcases: 测试用例
  • utils: 公共工具
    • 公共方法等
  • log: 日志信息

data: 数据准备

config: 配置信息

dao: 抽象

java 自动化项目基础结构

  • main/java
    • com.xxx.page: 页面对象
    • com.xxx.utils: 公共工具
    • resources: 日志配置
  • test/java

总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

相关推荐
jieyucx几秒前
Windows11 & Linux 环境Docker部署与镜像拉取效率优化实战指南
linux·运维·docker
AC赳赳老秦4 分钟前
Excel 动态仪表盘制作:用 OpenClaw 自动处理数据、生成交互式图表并实时更新仪表盘
大数据·服务器·后端·测试用例·excel·deepseek·openclaw
weixin_3077791327 分钟前
Linux下ClickHouse数据仓库故障系统化诊断脚本
linux·运维·clickhouse·自动化·数据库开发
luj_17689 小时前
残熵算法实时化三大瓶颈突破
c语言·开发语言·网络·经验分享·算法
luj_176811 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
取地址符11 小时前
C++学习笔记(基于learn-cxx)(1)
c++·经验分享·笔记·学习
RisunJan12 小时前
Linux命令-rlogin(远程登录)
linux·运维
深圳恒讯12 小时前
菲律宾云服务器与传统VPS的架构差异
运维·服务器·架构
蓝天下的守望者12 小时前
svt_apb_if里的宏定义问题
运维·服务器·数据库
小林ixn12 小时前
从“玩具工具”到“跨语言利器”:MCP 协议实战解析
运维·服务器·网络