优雅展示:使用Allure和Pytest创建漂亮测试报告

21 篇文章 0 订阅
21 篇文章 0 订阅

之前用pytest-html生成报告,体验不是很好,经过调研,决定使用Allure。

Allure是一个用于生成漂亮的测试报告的开源框架,它支持多种测试框架和编程语言。那该如何使用Allure生成测试报告,如何将Allure集成到pytest中使用,我们一起学习。

Allure的使用

可以先看看官方提供的demo:allure-framework.github.io/allure-demo…

安装Allure

使用Allure需要先安装Allure命令行工具。

官方网站(docs.qameta.io/allure/#_in…)提供了安装方式。

笔者是Mac系统,可以通过以下命令进行安装:

brew install allure

当然,也可以下载安装包进行安装,下载地址(github.com/allure-fram…),下载完成后可以配置环境变量

export PATH=$PATH:/usr/local/allure-2.24.1/bin

最后,验证一下是否安装成功

allure --version

因为Allure是用Java写的,所以如果无法运行,那么要检查下有没有安装Java。

在测试代码中添加Allure注解

在测试代码中添加Allure注解可以用于指定测试用例的一些关键信息,例如用例名称、优先级、描述等。以下是一些常用的Allure注解:

  • @allure.feature("feature_name"):指定测试用例所属的功能模块名称;
  • @allure.story("story_name"):指定测试用例所属的用户故事名称;
  • @allure.title("test_title"):指定测试用例的标题;
  • @allure.description("test_description"):指定测试用例的描述信息;
  • @allure.severity(allure.severity_level.CRITICAL):指定测试用例的严重程度;
  • @allure.issue("issue_id"):指定测试用例相关的issue编号;
  • @allure.link("url"):指定测试用例相关的链接。

例如,以下是一个使用了Allure注解的测试用例:

import allure
import pytest
​
@allure.feature("登录功能")
@allure.story("普通用户登录")
@allure.title("测试普通用户登录")
@allure.description("测试普通用户登录功能是否正常")
@pytest.mark.normal_user
def test_normal_user_login():
    # 测试代码

Allure与Pytest集成

安装pytest-allure插件

运行测试用例并生成Allure报告需要使用到pytest-allure插件,这个插件可以将pytest生成的测试结果转换成Allure所需的格式。我们可以通过pip安装该插件:

$ pip install allure-pytest
运行测试用例并生成Allure报告

在安装完成后,我们可以在pytest命令中添加--alluredir参数,指定生成Allure报告所需的数据输出目录:

$ pytest --alluredir=./allure_report

运行完毕后,我们可以在指定的输出目录中找到生成的Allure报告数据。

要在测试完成后查看报告,需要使用Allure命令行实用程序从结果生成报告,命令如下:

$ allure serve ./allure_report

运行完成后,将在默认浏览器中显示所生成的报告。

报告组成
总览

总览包括测试套件、环境、趋势、类别及具体场景。可以单击链接进入不同的具体展示页面详细查看。单击左下角En按钮可选择更换为中文。

类别

按测试用例状态进行过滤,可以选择通过、跳过、失败等进行选择并查看

测试套件

缺陷页面提供了测试执行过程中所发现的缺陷的详细清单,可以区分与失败测试相对应的产品缺陷(Product Defects)及与破坏测试相对应的测试缺陷(Test Defects)。可以查看每个测试套件的测试统计信息及每个测试用例的详细信息

功能

通过报告可以轻松查看哪些功能存在问题

图形

图形可以帮助我们直观地评估测试结果

时间轴

在时间轴页面显示每个测试用例在哪个时间点开始执行,并且它运行了多长时间

展示不同文件夹(包Packages)执行情况

Allure框架优势

  • 从开发及质量保证的角度来看,Allure报告可以缩短常见缺陷的生命周期:可以将测试失败划分为Bug和破坏性测试,还可以配置日志、步骤、初始化和销毁、附件、时间、历史记录与测试管理系统及Bug跟踪系统的集成,因为负责任的开发人员和测试人员需要掌握所有信息。
  • 从管理人员的角度来看,Allure提供了一个清晰的“全局”,涵盖了所需要的功能、缺陷聚集的位置、执行时间表的外观及许多其他方面的事情。Allure的模块化和可扩展性确保开发人员始终能够微调某些东西,以使Allure更适合项目开发。

原理

Allure基于标准xUnit结果输出,但添加了一些补充数据。任何报告都通过两个步骤生成。

在测试执行期间(第一步),通过与不同语言的客户端(Python语言是allure-pytest库)将有关已执行测试的信息保存到xml文件中。

在报告生成(第二步)期间,xml文件将被转换为HTML报告。这可以通过命令行工具、CI插件或构建工具来完成。

最后

Allure可以帮助我们生成漂亮的测试报告,提高测试效率和代码质量。还可以根据自己的需求来定义测试报告。那该如何定制,我们另作分享。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

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

这些都在我的软件测试学习交流群里:902061117 自取
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值