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

文章目录

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

总结

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

相关推荐
小白跃升坊8 小时前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
测试者家园8 小时前
测试用例智能生成:是效率革命,还是“垃圾进,垃圾出”的新挑战?
人工智能·职场和发展·测试用例·测试策略·质量效能·智能化测试·用例设计
MMME~8 小时前
Ansible Playbook高效自动化实战指南
网络·自动化·ansible
杨江9 小时前
seafile docker安装说明
运维
好好沉淀9 小时前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng9 小时前
Linux 输出重定向
linux·运维
路由侠内网穿透.9 小时前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独9 小时前
ns-3仿真之应用层(三)
运维·服务器·ns3
骆驼爱记录9 小时前
Excel邮件合并嵌入图片技巧
自动化·word·excel·wps·新人首发
VekiSon9 小时前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发