📊 allure3-server — Allure3 测试报告服务
"上传测试结果,一键生成 Allure 报告,浏览器直接查看。"
概述
allure3-server 是一个基于 FastAPI 的轻量级 HTTP 服务器,提供 REST API 用于上传 Allure 测试结果(ZIP 包),调用官方 Allure CLI 工具生成 Allure3 HTML 报告,并通过浏览器直接查看报告。
GitHub: https://github.com/mikigo/allure3-server
PyPI: https://pypi.org/project/allure3-server/
当前版本: 1.6.0

解决的痛点
- Allure 报告生成需要在本地安装 Allure CLI,团队其他成员无法直接查看
- 多个项目的测试报告分散在各处,缺乏统一的报告管理平台
- 不能通过 HTTP 接口远程上传结果和生成报告,集成到 CI/CD 流程不便捷
- 自托管 API 文档,内网离线环境也能正常使用
核心流程
- 上传:客户端发送 Allure 结果 ZIP 到
POST /api/result,服务器解压到results/<uuid>/ - 生成:客户端发送 UUID 到
POST /api/report,服务器调用npx allure generate生成静态 HTML 报告 - 查看:报告挂载为静态文件服务,通过
http://host:port/reports/<uuid>/直接访问
核心特性
REST API
自托管 API 文档
使用 fastapi-self-hosting-docs 包将 Swagger UI 静态资源从本地提供,不依赖外部 CDN。访问 http://localhost:8000/ 即可打开 API 文档页面,内网离线环境也能正常使用。
Allure3 报告定制
通过 allurerc.json 配置文件控制 Allure3 CLI 的行为:
- 报告语言设置为中文(
reportLanguage: "zh") - 使用 awesome 插件,支持发布模式
- 多文件报告(非单文件),加载更快
环境自检
启动时自动检查 node 和 npm 是否可用,如缺失则输出各平台的安装指引并退出。
技术栈
项目结构
使用方式
环境要求
- Python 3.6+
- Node.js(Allure CLI 依赖)
- Allure CLI:
npm install -g allure
安装
启动服务
可选参数:
启动后访问 http://localhost:8000/ 进入 API 文档页面。
API 调用示例
上传测试结果:
生成报告:
列出所有报告:
删除报告:
许可证
Apache 2.0
声明:本站所有文章,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。-- mikigo