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
当我们想将pytest和allure结合使用时,需要在python环境中安装allure-pytest:
pip3 install allure-pytest
2.2 Allure常用特性
1、测试层级注解
@allure.parent_suite:用于定义测试套的最高层级分组。
@allure.suite:第二层级的测试套件。
@allure.sub_suite:最底层的测试子套件。
@allure.parent_suite('ParentSuite')
@allure.suite('SubSuite1')
@allure.sub_suite('ChildSuite')
def test_case():
pass
2、业务逻辑层级注解
@allure.epic:最高层级业务功能。
@allure.feature:次级业务功能模块。
@allure.story:具体的用户故事或用例场景。
@allure.epic("客户管理")
@allure.feature("添加新客户")
@allure.story("通过表单添加")
def test_add_customer():
pass
3、描述与展示注解
@allure.title:测试用例的标题。
@allure.description:用例的描述信息。
@allure.label:为用例添加自定义标签。
@allure.title("验证登录功能")
@allure.description("检查用户能否成功登录系统")
@allure.label("优先级高")
def test_login():
pass
4、链接与追踪注解
@allure.link:添加相关链接,如需求文档、Bug报告等。
@allure.issue:关联缺陷跟踪系统中的问题。
@allure.testcase:连接测试管理工具中的测试用例。
@allure.link("https://example.com/requirements", type="requirement", name="查看需求")
@allure.issue("https://bugzilla.example.com/show_bug.cgi?id=1234", type="bug")
@allure.testcase("https://testrail.example.com/index.php?/cases/view/123", "验证登录功能")
def test_login():
pass
5、执行与优先级注解
@allure.severity:设置测试用例的严重程度,如blocker, critical, normal等。
@allure.step:描述测试步骤,通常与断言一起使用。
@allure.severity("critical")
def test_steps():
with allure.step("Step 1: Input data"):
# 输入数据的代码
with allure.step("Step 2: Submit form"):
# 提交表单的代码
with allure.step("Step 3: Verify result"):
# 验证结果的代码
6、附件与数据注解
@allure.attach:将文件或文本作为附件添加到报告中。
@allure.attach_file:上传文件作为附件。
@allure.dynamic:动态修改测试用例的属性值。
@allure.attach(name="测试数据", content="测试数据文件", attachment_type=allure.attachment_type.TEXT)
@allure.attach_file(name="Screenshot", path="/path/to/screenshot.png")
@allure.dynamic.title("登录成功-用户名:{username},密码:{password}")
def test_login_success(self, username, password):
# 假设这是一个登录成功的测试用例
pass
2.3 allure命令行参数
allure命令的语法格式
allure [options] [command] [command options]
[options]参数:
# 命令行帮助文档
--help
# 切换至安静模式,Default: false
-q, --quiet
# 切换至冗长模式,Default: false
-v, --verbose
# 版本信息,Default: false
--version
[command]和[command options]参数:
# generate命令格式:
generate [options] [allure结果目录]
# [options]主要参数有:
-c:删除生成的allure报告
-o: 生成allure报告
# [allure结果目录]为pytest通过allure-pytest生成的结果
# open命令格式:
open [options] [allure报告目录]
# [options]主要参数有:
-h:该host将用于启动报告的web服务器
-p:该port将用于启动报告的web服务器
# serve命令格式:
serve [options] [allure结果目录]
# [options]主要参数有:
-h:该host将用于启动报告的web服务器
-p:该port将用于启动报告的web服务器
2.4 pytest+allure生成报告案例
安装pytest和allure-pytest插件。在命令行中运行以下命令:
pip install pytest
pip install allure-pytest
编写一个简单的测试用例。例如,创建一个名为test_example.py的文件,内容如下:
import pytest
def test_addition():
assert 1 + 1 == 2
def test_subtraction():
assert 3 - 1 == 2
运行pytest并生成allure报告。在命令行中运行以下命令:
pytest --alluredir=allure-results test_example.py
安装Allure命令行工具。根据你的操作系统,从Allure官方网站下载并安装Allure命令行工具。
使用Allure命令行工具生成报告。在命令行中运行以下命令:
allure serve allure-results
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取