深入了解pytest生成allure报告

一、基本介绍

pytest是一个功能强大的Python测试框架,可用于编写和执行测试用例。而allure是一种灵活、轻量级的测试报告框架,提供了丰富的报告功能,可以生成漂亮、交互式的HTML测试报告。

pytest和allure的结合,为我们提供了一种方便、直观的方法来管理和呈现测试结果。在本文中,我们将详细介绍如何使用pytest生成allure报告。

二、安装与配置

在使用pytest和allure之前,需要先安装它们。


pip install pytest
pip install allure-pytest

安装完成后,可以使用如下命令来检查版本:


pytest --version
allure --version

然后在pytest.ini中添加如下内容:


[pytest]
addopts = --alluredir=./allure-results

这将在文件夹allure-results中存储测试结果,allure报告将从这里生成。

三、生成报告

在测试代码中使用pytest来执行测试用例。执行后,将得到如下结果:


$ pytest --alluredir=./allure-results
======================================= test session starts ========================================
platform linux -- Python 3.6.5, pytest-3.8.0, py-1.5.4, pluggy-0.6.0
rootdir: /home/user/project, inifile:
plugins: allure-pytest-2.5.0
collected 3 items

test_sample.py ...

===================================== 3 passed in 0.72 seconds =====================================

可以看到,测试结果被存储在文件夹allure-results中。

接下来,我们可以使用如下命令来生成allure报告:


$ allure generate ./allure-results

执行后,在文件夹allure-report中将生成allure报告,包含交互式测试结果、图表和统计信息。

四、自定义报告

allure提供了许多配置选项,可以自定义报告的样式和内容。可以在项目文件夹中创建文件allure.json,指定各种配置选项。

例如,以下是一个allure.json文件,定制了报告的标题和logo:


{
    "allure": {
        "title": "自定义报告标题",
        "logo": "logo.png"
    },
    "data": {
        "labels": {
            "suite": {
                "sampletest": "样例测试"
            }
        }
    }
}

然后,运行如下命令:


$ allure generate ./allure-results --config=./allure.json

生成带有自定义标题和logo的allure报告。

五、附加信息

可以将附加信息添加到allure报告中,例如详细的日志、参数和截图。

在测试代码中,可以使用如下命令添加附加信息:


@pytest.mark.parametrize("name, age", [("Tom", 20), ("Jerry", 25)])
def test_sample(name, age):
    with allure.step("输入姓名"):
        allure.attach("姓名:", name)
    with allure.step("输入年龄"):
        allure.attach("年龄:", str(age))
    assert age > 18

这将添加参数和步骤信息到测试报告中。

另外,可以使用如下命令添加测试截图:


allure.attach.file("screenshot.png", attachment_type=allure.attachment_type.PNG)

六、总结

本文介绍了如何使用pytest生成allure报告,并介绍了如何安装、配置和定制allure报告。另外,我们也了解了如何在报告中添加附加信息和测试截图,让报告更加详细、直观。

原创文章,作者:USVGH,如若转载,请注明出处:https://www.506064.com/n/363824.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
USVGHUSVGH
上一篇 2025-03-12 18:48
下一篇 2025-03-12 18:48

相关推荐

  • Python爬虫文档报告

    本文将从多个方面介绍Python爬虫文档的相关内容,包括:爬虫基础知识、爬虫框架及常用库、爬虫实战等。 一、爬虫基础知识 1、爬虫的定义: 爬虫是一种自动化程序,通过模拟人的行为在…

    编程 2025-04-28
  • Python贪吃蛇游戏设计报告

    本文将从游戏设计的目标、实现思路、技术要点、代码实现等多个方面对Python贪吃蛇游戏进行详细阐述。 一、游戏设计的目标 贪吃蛇是一款经典的游戏,我们的游戏设计不仅要实现基本的玩法…

    编程 2025-04-28
  • Python管理系统设计报告

    本文将从系统设计、数据存储、界面设计、安全性等多个方面,详细阐述Python管理系统的设计,为读者提供完整且系统的解决方案。 一、系统设计 Python管理系统的设计需要考虑到系统…

    编程 2025-04-27
  • 深入解析Vue3 defineExpose

    Vue 3在开发过程中引入了新的API `defineExpose`。在以前的版本中,我们经常使用 `$attrs` 和` $listeners` 实现父组件与子组件之间的通信,但…

    编程 2025-04-25
  • 深入理解byte转int

    一、字节与比特 在讨论byte转int之前,我们需要了解字节和比特的概念。字节是计算机存储单位的一种,通常表示8个比特(bit),即1字节=8比特。比特是计算机中最小的数据单位,是…

    编程 2025-04-25
  • 深入理解Flutter StreamBuilder

    一、什么是Flutter StreamBuilder? Flutter StreamBuilder是Flutter框架中的一个内置小部件,它可以监测数据流(Stream)中数据的变…

    编程 2025-04-25
  • 深入探讨OpenCV版本

    OpenCV是一个用于计算机视觉应用程序的开源库。它是由英特尔公司创建的,现已由Willow Garage管理。OpenCV旨在提供一个易于使用的计算机视觉和机器学习基础架构,以实…

    编程 2025-04-25
  • 深入了解scala-maven-plugin

    一、简介 Scala-maven-plugin 是一个创造和管理 Scala 项目的maven插件,它可以自动生成基本项目结构、依赖配置、Scala文件等。使用它可以使我们专注于代…

    编程 2025-04-25
  • Python代码报告怎么写?

    Python作为一种高级编程语言,在很多领域得到了广泛的应用。而代码报告,作为一种记录代码过程,分享代码成果的形式,也成为了Python开发和研究中越来越重要的一环。 一、代码规范…

    编程 2025-04-25
  • 深入了解LaTeX的脚注(latexfootnote)

    一、基本介绍 LaTeX作为一种排版软件,具有各种各样的功能,其中脚注(footnote)是一个十分重要的功能之一。在LaTeX中,脚注是用命令latexfootnote来实现的。…

    编程 2025-04-25

发表回复

登录后才能评论