在使用 Spring Boot 和 JUnit5 做自动化测试时,Allure 是非常方便的可视化测试报告工具。但很多同学会遇到一个问题:生成了报告却打开显示 404 或空白 。本文将手把手教你 从运行测试到正确查看 Allure 报告。
1️⃣ 运行测试生成结果
首先,Allure 依赖测试结果生成报告,所以必须先运行测试:
运行全部测试
bash
mvn clean test
运行特定测试类
bash
mvn test -Dtest=ArticleControllerTest
运行特定测试方法
bash
mvn test -Dtest=ArticleControllerTest#testListArticle_Success
测试运行完成后,会在项目目录下生成
target/allure-results,包含.json、.xml、.txt等测试结果文件。
2️⃣ 生成 Allure 报告
生成 HTML 报告的命令如下:
bash
mvn allure:report
生成后,你会在:
target/allure-report/
看到完整的报告目录,包括:
index.html
css/
js/
plugins/
fonts/
⚠️ 注意:
target/allure-results是 原始测试数据,不是 HTML 报告- 必须用
target/allure-report/index.html查看,才是完整 HTML 页面
3️⃣ 为什么直接打开 index.html 会报 404?
很多同学习惯直接在浏览器里双击 index.html 打开,但会遇到 404 或空白问题,原因如下:
① 静态资源路径问题
index.html引用了相对路径的 JS/CSS 文件,例如./js/allure.js- 直接用
file://协议打开时,浏览器会阻止这些本地 JS/CSS 加载
② 浏览器安全限制(CORS)
- Chrome、Edge 等现代浏览器对本地文件加载有严格限制
- 结果就是页面无法渲染,显示空白或 404
4️⃣ 正确查看 Allure 报告的方法
方法一:Allure CLI 动态查看(推荐)
bash
allure serve target/allure-results
- 会启动本地临时 HTTP 服务
- 自动打开浏览器查看报告
- 每次生成新结果都可直接刷新查看
方法二:Maven + Allure 打开报告
bash
mvn allure:report
allure open target/allure-report
- 也会启动本地服务打开报告
- 避免直接用
file://打开
方法三(不推荐):修改浏览器安全策略
- 使用
--allow-file-access-from-files启动 Chrome - 可以直接打开文件,但不安全且麻烦
5️⃣ 常用 Allure + Maven 测试命令
| 功能 | 命令 |
|---|---|
| 运行所有测试 | mvn clean test |
| 跳过测试编译只运行测试 | mvn surefire:test |
| 显示详细测试输出 | mvn test -Dmaven.test.failure.ignore=true |
| 生成覆盖率报告(Jacoco) | mvn test jacoco:report |
| 生成 Allure 报告 | mvn allure:report |
| 动态查看报告 | allure serve target/allure-results |
6️⃣ 流程总结
完整流程如下:
text
1️⃣ 运行测试 → target/allure-results 生成测试结果
2️⃣ mvn allure:report → target/allure-report 生成 HTML 报告
3️⃣ 用 Allure CLI 或 allure open 启动本地服务查看
⚡ 核心要点:不要直接用浏览器 file:// 打开 index.html,一定要通过 HTTP 协议加载资源,否则会 404。