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

文章目录

  • [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

总结

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

相关推荐
YongCheng_Liang12 小时前
从零开始学 Python:自动化 / 运维开发实战(核心库 + 3 大实战场景)
python·自动化·运维开发
sweetone12 小时前
LINN莲CLASSIK桌面音响微修
经验分享·音视频
鸽芷咕12 小时前
为什么越来越多开发者转向 CANN 仓库中的 Python 自动化方案?
python·microsoft·自动化·cann
HalvmånEver12 小时前
Linux:线程互斥
java·linux·运维
JY.yuyu13 小时前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器
晚霞的不甘13 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
lpruoyu13 小时前
【Docker进阶-06】docker-compose & docker swarm
运维·docker·容器
China_Yanhy14 小时前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
艾莉丝努力练剑14 小时前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
酉鬼女又兒14 小时前
每天一个Linux命令_printf
linux·运维·服务器