千锋教育-做有情怀、有良心、有品质的职业教育机构

测试报告是测试团队的“脸面”。
但99%的测试报告,要么是纯文本的日志堆砌,要么是毫无美感的Excel表格。
开发不看,产品不看,老板更不看。
你辛辛苦苦跑完1000个用例,结果就是没人愿意打开那个文件。
> 报告没人看,测试等于白做。
问题出在哪?
数据没有可视化,结论没有重点。
一个合格的测试报告,应该具备3个特征:
Allure 就是来解决这个问题的。
Allure 是一个开源的测试报告框架,支持 Java、Python、JavaScript、Ruby 等主流语言。
它能把你的测试结果——从枯燥的文本——转化成精美的HTML报告。
报告里包含:测试套件、用例详情、步骤截图、通过率趋势、失败原因分析……
而且,集成只需要3步。
Allure 需要一个命令行工具来生成报告。
安装方式很简单:
# macOS
brew install allure
# Windows (使用scoop)
scoop install allure
# 或者从官网下载zip包,解压后配置环境变量
验证安装是否成功:
allure --version
# 输出:2.24.0
以Python的pytest为例。
先安装依赖:
pip install allure-pytest
然后在测试代码中添加Allure注解:
import allure
import pytest
@allure.feature("用户登录")
class TestLogin:
@allure.story("登录成功")
@allure.title("使用正确用户名和密码登录")
@allure.severity(allure.severity_level.CRITICAL)
def test_login_success(self):
with allure.step("输入用户名"):
print("输入admin")
with allure.step("输入密码"):
print("输入123456")
with allure.step("点击登录按钮"):
print("登录成功")
assert True
@allure.story("登录失败")
@allure.title("使用错误密码登录")
@allure.severity(allure.severity_level.NORMAL)
def test_login_fail(self):
with allure.step("输入用户名"):
print("输入admin")
with allure.step("输入错误密码"):
print("输入wrong_password")
with allure.step("点击登录按钮"):
print("登录失败")
assert False
运行测试并生成Allure结果文件:
pytest --alluredir=./allure-results
运行完测试后,执行:
allure serve ./allure-results
浏览器会自动打开,展示一份完整的测试报告。
> 3行代码,让你的测试报告从“石器时代”进入“信息时代”。
打开报告,第一眼就是仪表盘。
包含:
所有数据,3秒内读懂。
Allure支持用 @allure.feature 和 @allure.story 对用例进行分类。
比如:
点击任何一个套件,直接看到该模块的所有用例状态。
点击一个失败用例,你能看到:
> 失败用例,不再需要“猜”原因。
Allure支持为每个用例添加附件:
代码示例:
@allure.step("截图当前页面")
def take_screenshot():
allure.attach(driver.get_screenshot_as_png(), name="页面截图",
attachment_type=allure.attachment_type.PNG)
Allure支持多个测试运行结果的对比。
执行:
allure generate ./allure-results --clean -o ./allure-report
生成的 ./allure-report 文件夹内,包含历史趋势图。
你可以看到:
这些数据,直接指导测试策略的调整。
有时候,用例标题需要包含动态参数。
Allure支持:
@allure.title("用户 {username} 登录测试")
def test_user_login(username):
pass
执行时,{username} 会被替换为实际值。
用 @allure.severity 标记用例重要性:
报告里可以按严重级别筛选,优先关注CRITICAL和BLOCKER的失败。
在 allure-results 目录下创建 environment.properties 文件:
Browser=Chrome 120
OS=macOS 14
TestEnv=Staging
报告会自动显示这些环境信息。
在Jenkins/GitLab CI中集成Allure:
> 集成CI/CD,报告自动生成,测试结果实时可见。
| 维度 | 传统报告 | Allure报告 |
|------|---------|-----------|
| 可读性 | 纯文本/Excel,枯燥 | 可视化图表,美观 |
| 可交互 | 无,只能看 | 点击展开,动态筛选 |
| 可追溯 | 无,看日志 | 步骤级、截图级 |
| 可分享 | 文件发送 | HTML文件,直接打开 |
| 可集成 | 难 | CI/CD、Slack、邮件 |
一个真实的案例:
某团队从JUnit XML报告迁移到Allure后,测试报告打开率从15%提升到92%。
开发主动查看失败用例,修复速度提升3倍。
> 工具不贵,贵在选对工具。
Allure 不是万能药,但它解决了测试报告的核心痛点:
让数据说话,让结论可见。
从今天开始,停止手工整理报告。
3步集成Allure,你的测试结果值得被看见。
你的测试报告,不应该只是你一个人看的“秘密文件”。