接口自动化测试框架(Junit5 + Rest-Assured + Allure)
目录
- 需求分析
- 开发设计
- 分层与抽象
- 技术选型
- 主要类设计
- 测试文件设计
- 工程目录设计
- 工程实现
- github 地址
- 运行示例
需求分析
需求点 | 需求分析 |
---|---|
通过 yaml 配置接口操作和用例 | 后续新增接口和测试用例只需要编写 yaml 文件即可实现。 |
可以支持接口间的参数传递 | 具有参数依赖的接口可以进行变量的抽取和参数赋值。 |
支持全局、用例维度的变量存储 | 比如时间截命名法中要用到的时间截后缀。 |
支持用例软断言 | 断言不应该使测试中断,可以在测试执行后统一的进行断言。 |
支持报告的输出 | 可以复用 Junit5 和 allure2 成熟框架生成测试报告。 |
支持自动生成 yaml 文件 | 除了手动编写 yaml 脚本外,还可以通过解析 har 文件,自动生成测试用例。 |
开发设计
分层与抽象
技术选型
功能 | 所选技术 |
---|---|
单元测试框架 | Junit5 |
断言 | Hamcrest |
接口测试 | Rest-Assured |
yaml 读取与生成 | Jackson |
har 解析 | Har-Reader |
测试报告 | Allure-Junit5 |
主要类设计
https://www.processon.com/view/link/622cd08e0e3e7407da4427bc
测试文件设计
测试用例文件:
接口文件:
工程目录设计
工程实现
github 地址
https://github.com/juno3550/ApiAutoTestFramework
运行示例
工程根目录下执行:
# 运行项目测试
mvn clean test
# 查看 allure 结果报告
allure serve target/allure-results
测试报告示例: