news 2026/6/25 0:50:01

Allure测试报告介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Allure测试报告介绍
Allure测试报告简介

1.1 Allure简介

Allure报告是一个灵活的、轻量级的多语言测试报告工具,可以创建出优质且清晰的测试报告。它不仅可以以简洁的网络报告形式显示已测试的内容,而且还允许每个人从日常执行中提取最大程度的有用信息。该报告提供了一个详尽的测试结果概览,包括缺陷点、失败原因、异常信息等,并支持自定义描述、注释、截图等多种方式来补充测试结果的展示。

1.2 Allure特点

图形化报告:Allure提供图形化的测试报告,以直观、易读的方式呈现测试结果,包括图表、统计信息等,使得测试结果更易于理解。

多语言支持:支持多种编程语言和测试框架,使得不同语言的测试项目都能够使用Allure生成报告,提高了测试的灵活性和兼容性。

自动生成报告:报告可由测试框架自动生成,无需手动编写,节省了时间,同时降低了出错的可能性。

详细的历史记录:记录并展示测试历史,包括测试结果的变化、通过/失败的趋势等,有助于追踪测试项目的进展,发现测试质量的变化,提高测试的可维护性。

附件支持:可以附加各种附件,如截图、日志文件等,以提供更丰富的测试信息,有助于更好地理解测试失败的原因,提供详细的上下文信息。

易于集成:易于与各种测试框架集成,不需要大量的配置,对于已有测试项目,可以相对容易地集成Allure,并享受到其提供的丰富报告功能。

1.3 Allure使用场景

Allure报告适用于各种软件测试场景,包括单元测试、集成测试、系统测试等。无论是手动测试还是自动化测试,Allure都能够提供详尽的测试报告,帮助测试人员快速定位问题,提高测试效率和质量。

Allure使用方法

2.1 Allure安装

Allure是一个命令行工具,可以去github下载Allure并进行环境配置,这里就不介绍allure的详细安装和环境配置了,安装好后,可以在命令行执行以下命令验证allure环境是否配置好了:

allure --version

AI写代码

当我们想将pytest和allure结合使用时,需要在python环境中安装allure-pytest:

pip3 install allure-pytest

AI写代码

2.2 Allure常用特性

1、测试层级注解

@allure.parent_suite:用于定义测试套的最高层级分组。

@allure.suite:第二层级的测试套件。

@allure.sub_suite:最底层的测试子套件。

  1. @allure.parent_suite('ParentSuite')

  2. @allure.suite('SubSuite1')

  3. @allure.sub_suite('ChildSuite')

  4. def test_case():

  5. pass

AI写代码python运行

2、业务逻辑层级注解

@allure.epic:最高层级业务功能。

@allure.feature:次级业务功能模块。

@allure.story:具体的用户故事或用例场景。

  1. @allure.epic("客户管理")

  2. @allure.feature("添加新客户")

  3. @allure.story("通过表单添加")

  4. def test_add_customer():

  5. pass

AI写代码python运行

3、描述与展示注解

@allure.title:测试用例的标题。

@allure.description:用例的描述信息。

@allure.label:为用例添加自定义标签。

  1. @allure.title("验证登录功能")

  2. @allure.description("检查用户能否成功登录系统")

  3. @allure.label("优先级高")

  4. def test_login():

  5. pass

AI写代码python运行

4、链接与追踪注解

@allure.link:添加相关链接,如需求文档、Bug报告等。

@allure.issue:关联缺陷跟踪系统中的问题。

@allure.testcase:连接测试管理工具中的测试用例。

  1. @allure.link("https://example.com/requirements", type="requirement", name="查看需求")

  2. @allure.issue("https://bugzilla.example.com/show_bug.cgi?id=1234", type="bug")

  3. @allure.testcase("https://testrail.example.com/index.php?/cases/view/123", "验证登录功能")

  4. def test_login():

  5. pass

AI写代码python运行

5、执行与优先级注解

@allure.severity:设置测试用例的严重程度,如blocker, critical, normal等。

@allure.step:描述测试步骤,通常与断言一起使用。

  1. @allure.severity("critical")

  2. def test_steps():

  3. with allure.step("Step 1: Input data"):

  4. # 输入数据的代码

  5. with allure.step("Step 2: Submit form"):

  6. # 提交表单的代码

  7. with allure.step("Step 3: Verify result"):

  8. # 验证结果的代码

AI写代码python运行

6、附件与数据注解

@allure.attach:将文件或文本作为附件添加到报告中。

@allure.attach_file:上传文件作为附件。

@allure.dynamic:动态修改测试用例的属性值。

  1. @allure.attach(name="测试数据", content="测试数据文件", attachment_type=allure.attachment_type.TEXT)

  2. @allure.attach_file(name="Screenshot", path="/path/to/screenshot.png")

  3. @allure.dynamic.title("登录成功-用户名:{username},密码:{password}")

  4. def test_login_success(self, username, password):

  5. # 假设这是一个登录成功的测试用例

  6. pass

AI写代码python运行

2.3 allure命令行参数

allure命令的语法格式

allure [options] [command] [command options]

AI写代码

[options]参数:

  1. # 命令行帮助文档

  2. --help

  3. # 切换至安静模式,Default: false

  4. -q, --quiet

  5. # 切换至冗长模式,Default: false

  6. -v, --verbose

  7. # 版本信息,Default: false

  8. --version

[command]和[command options]参数:

  1. # generate命令格式:

  2. generate [options] [allure结果目录]

  3. # [options]主要参数有:

  4. -c:删除生成的allure报告

  5. -o: 生成allure报告

  6. # [allure结果目录]为pytest通过allure-pytest生成的结果

  7. # open命令格式:

  8. open [options] [allure报告目录]

  9. # [options]主要参数有:

  10. -h:该host将用于启动报告的web服务器

  11. -p:该port将用于启动报告的web服务器

  12. # serve命令格式:

  13. serve [options] [allure结果目录]

  14. # [options]主要参数有:

  15. -h:该host将用于启动报告的web服务器

  16. -p:该port将用于启动报告的web服务器

2.4 pytest+allure生成报告案例

安装pytest和allure-pytest插件。在命令行中运行以下命令:

  1. pip install pytest

  2. pip install allure-pytest

AI写代码

编写一个简单的测试用例。例如,创建一个名为test_example.py的文件,内容如下:

  1. import pytest

  2. def test_addition():

  3. assert 1 + 1 == 2

  4. def test_subtraction():

  5. assert 3 - 1 == 2

AI写代码python运行

运行pytest并生成allure报告。在命令行中运行以下命令:

pytest --alluredir=allure-results test_example.py

AI写代码

安装Allure命令行工具。根据你的操作系统,从Allure官方网站下载并安装Allure命令行工具。

使用Allure命令行工具生成报告。在命令行中运行以下命令:

allure serve allure-results

AI写代码

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 15:25:39

2026年GEO服务商评测:高客单价行业如何靠AI破局?深度对比三类玩家,揭秘原圈科技领跑之道

原圈科技在GEO(生成式引擎优化)领域被普遍视为领航者。其优势并非单一模型,而是自主的"大模型编排底座"与协同工作的"营销智能体矩阵"。基于此AI原生架构,原圈科技在高客单价、长决策链行业(如金融、汽车)表现突出,为企业提供从洞察到转化的端到端AI驱动增…

作者头像 李华
网站建设 2026/6/21 22:44:50

实时系统中ISR编写的最佳实践与避坑指南

中断服务程序(ISR)的正确打开方式:实时系统中的高效设计与实战避坑 在嵌入式世界里, 中断服务程序 (Interrupt Service Routine, ISR )就像是一位“急诊医生”——它不参与日常调度,却必须在…

作者头像 李华
网站建设 2026/6/22 0:10:00

新手必看:RS232串口通信常见问题与解决方法

RS232串口通信避坑指南:从乱码、断连到长距离传输的实战排错你有没有遇到过这样的场景?MCU代码写得一丝不苟,接线也反复检查了三遍,可串口调试助手一打开,收到的却是满屏“烫烫烫”或乱码字符;又或者通信几…

作者头像 李华
网站建设 2026/6/10 17:39:47

电路仿真软件在RTL验证流程中的关键作用解析

电路仿真为何是数字前端工程师的“第一道防线”? 在芯片设计的世界里,有一个残酷的现实: 越晚发现一个bug,修复它的代价就可能翻上十倍、百倍 。当一颗SoC流片失败,损失的不只是数百万美元的成本,更是宝贵…

作者头像 李华