Junit5+Maven+RestAssured+Allure接口自动化框架

需求分析

需求点 需求分析
通过 yaml 配置接口操作和用例 后续新增接口和测试用例只需要编写 yaml 文件即可实现。
可以支持接口间的参数传递 具有参数依赖的接口可以进行变量的抽取和参数赋值。
支持全局、用例维度的变量存储 比如时间截命名法中要用到的时间截后缀。
支持用例软断言 断言不应该使测试中断,可以在测试执行后统一的进行断言。
支持报告的输出 可以复用 Junit5 和 allure2 成熟框架生成测试报告。
支持自动生成 yaml 文件 除了手动编写 yaml 脚本外,还可以通过解析 har 文件,自动生成测试用例。

开发设计

分层与抽象

技术选型

功能 所选技术
单元测试框架 Junit5
断言 Hamcrest
接口测试 Rest-Assured
yaml 读取与生成 Jackson
har 解析 Har-Reader
测试报告 Allure-Junit5

主要类设计

接口自动化测试框架-主要类设计| ProcessOn免费在线作图,在线流程图,在线思维导图

测试文件设计

测试用例文件:

接口文件:

工程目录设计

工程实现

github 地址

https://github.com/juno3550/ApiAutoTestFramework

运行示例

工程根目录下执行:

复制代码
# 运行项目测试
mvn clean test
# 查看 allure 结果报告
allure serve target/allure-results

测试报告示例:

相关推荐
天远API8 分钟前
零信任架构实战:基于天远公安二要素政务版构建自动化不动产交易与契税核算实名核实网关
人工智能·架构·自动化·php
南棋网络安全38 分钟前
ssrf跨站请求伪造(保姆级教程)
运维·服务器·网络·网络安全
帷幕落秋44 分钟前
进程服务与文件描述符
linux·运维·面试
帷幕落秋1 小时前
信号、Ctrl 组合键与进程状态
linux·运维·面试
开开心心就好1 小时前
文件被占用删不掉?解锁工具强制删除
java·运维·服务器·开发语言·前端·pdf·ocr
小超人诞生日记1 小时前
Linux 进程优先级
linux·运维·服务器
科技象限1 小时前
数据防泄漏系统:文件是怎么溜出门的,就该怎么堵
运维·网络·网络安全·安企神
cpolar技术支持2 小时前
端口被谁占了、这台机上开了哪些监听?本机起一个端口占用只读清单,cpolar 给异地同事远程看谁在监听
运维·python·内网穿透·cpolar·端口占用
在西安放羊的牛油果2 小时前
WebP 图片优化方案详解
运维·前端·架构
JavaPub-rodert2 小时前
Docker 容器为什么 stop 半天停不下来?讲透 PID 1、SIGTERM、SIGKILL、僵尸进程与 tini
运维·docker·容器