在软件测试过程中,一份清晰、详细且美观的测试报告对于团队协作和项目质量把控至关重要。Allure 报告以其丰富的功能和出色的展示效果,成为了许多测试人员的首选。今天,我们就来详细探讨一下如何将 Pytest 与 Allure 报告进行集成,让你的测试工作更加高效、专业。
一、Allure 报告简介
1.1 Allure 报告的优势
Allure 报告提供了丰富的功能,能够将测试结果以直观、易懂的方式呈现出来。它支持多种语言和测试框架,具有高度的可定制性,能够满足不同项目的需求。其优势主要体现在以下几个方面:
- 丰富的可视化展示:Allure 报告以图形化的方式展示测试结果,包括测试用例的执行状态(通过、失败、跳过等)、执行时间、步骤详情等信息,使测试人员和开发人员能够快速了解测试情况。
- 详细的测试步骤记录:能够记录每个测试用例的详细执行步骤,方便定位问题。当测试失败时,可以清晰地看到是在哪个步骤出现了问题,以及该步骤的输入和输出信息。
- 动态生成报告:可以在测试执行过程中实时生成报告,无需等待测试全部完成。这使得测试人员能够及时获取测试结果,提高测试效率。
- 支持附件添加:允许在报告中添加截图、日志文件、系统信息等附件,为问题排查提供更多的线索。
1.2 Allure 报告在项目中的作用
在项目中,Allure 报告不仅能够帮助测试人员更好地管理和分析测试结果,还能促进团队之间的沟通与协作。开发人员可以通过报告快速了解测试发现的问题,从而及时进行修复;项目经理可以根据报告评估项目的质量和进度,做出合理的决策。
二、Pytest 与 Allure 报告集成的准备工作
2.1 安装 Allure 命令行工具
- 下载地址:根据你的操作系统,从 Allure 官方网站(https:///allure-framework/allure2/releases)下载对应的 Allure 命令行工具压缩包。
- 解压安装:将下载的压缩包解压到指定目录,例如在 Windows 系统中,可以解压到C:\Program Files\allure-2.13.8(版本号可能会有所不同)。
- 配置环境变量:将 Allure 命令行工具的bin目录添加到系统环境变量PATH中,以便在命令行中能够直接使用allure命令。
2.2 安装 Pytest-Allure 插件
在 Python 项目中,使用 pip 命令安装pytest-allure-adaptor插件(注意:不同版本的 Pytest 可能需要不同的 Allure 插件,确保安装与你的 Pytest 版本兼容的插件)。
pip install pytest-allure-adaptor2.3 验证安装是否成功
- 打开命令行窗口,输入allure --version,如果显示 Allure 命令行工具的版本信息,则说明 Allure 命令行工具安装成功。
- 在 Python 项目中,创建一个简单的测试文件(例如test_example.py),内容如下:
def test_example():
    assert 1 + 1 == 2然后在命令行中执行pytest --alluredir=reports(这里reports是指定的用于存储 Allure 报告数据的目录),如果执行过程中没有报错,并且在reports目录下生成了一些文件和目录,则说明 Pytest-Allure 插件安装成功。
三、在 Pytest 测试中使用 Allure 特性
3.1 添加测试用例描述和步骤
- 使用@allure.title装饰器为测试用例添加描述性标题,使测试用例的目的更加清晰。例如:
import allure
@allure.title("测试加法运算是否正确")
def test_addition():
    assert 1 + 2 == 3- 使用with allure.step语句块来描述测试用例的执行步骤,这在测试失败时有助于快速定位问题。例如:
import allure
def test_subtraction():
    with allure.step("准备测试数据"):
        num1 = 5
        num2 = 3
    with allure.step("执行减法运算"):
        result = num1 - num2
    with allure.step("验证结果是否正确"):
        assert result == 23.2 添加测试用例标签和链接
- 使用@allure.tag装饰器为测试用例添加标签,方便对测试用例进行分类和筛选。例如:
import allure
@allure.tag("冒烟测试")
def test_smoke():
    assert True- 使用@allure.link和@allure.issue装饰器为测试用例添加链接,关联相关的需求文档、缺陷管理系统等外部资源。例如:
import allure
@allure.link("https:///browse/TEST-123", name="关联需求文档")
@allure.issue("https:///browse/BUG-456", name="关联缺陷")
def test_with_links():
    assert True2.3 添加附件(如截图、日志等)
在测试用例执行过程中,如果需要添加附件(如截图、日志文件等)到 Allure 报告中,可以使用allure.attach函数。例如,假设你在测试一个 Web 应用程序,使用 Selenium 进行自动化测试,在测试失败时想要截取当前页面的截图并添加到报告中:
import allure
from selenium import webdriver
def test_webpage():
    driver = webdriver.Chrome()
    try:
        driver.get("https://www.example.com")
        # 执行一些操作,如果操作失败,添加截图到报告中
        with allure.step("验证页面标题是否正确"):
            assert "Example Domain" in driver.title
    except AssertionError:
        allure.attach(driver.get_screenshot_as_png(), name="失败截图", attachment_type=allure.attachment_type.PNG)
        raise
    finally:
        driver.quit()四、生成 Allure 报告
4.1 执行测试并生成报告数据
在命令行中执行测试时,使用--alluredir参数指定报告数据的存储目录。例如:
pytest --alluredir=reports这将执行所有的测试用例,并将 Allure 报告所需的数据存储在reports目录下。
4.2 使用 Allure 命令行工具生成报告
- 打开命令行窗口,进入到报告数据所在的目录(例如reports目录)。
- 执行以下命令生成 Allure 报告:
allure generate reports -o allure-report --clean其中,reports是报告数据目录,allure-report是生成的报告输出目录,--clean参数表示在生成报告之前先清空输出目录。
4.3 查看 Allure 报告
- 报告生成成功后,在allure-report目录下会生成一系列的 HTML、CSS 和 JavaScript 文件。
- 打开allure-report目录中的index.html文件,即可在浏览器中查看详细的 Allure 报告。报告将展示测试用例的执行情况、步骤详情、附件等信息,你可以通过点击不同的链接和按钮进行深入查看和分析。
五、定制 Allure 报告
5.1 修改报告主题
- Allure 报告支持多种主题风格,你可以通过修改配置文件来切换主题。在allure-report目录下找到widgets目录,其中包含了不同主题的 CSS 文件。
- 例如,要切换到dark-theme.css主题,将index.html文件中的主题引用修改为:
<link rel="stylesheet" href="widgets/dark-theme.css">5.2 添加自定义内容到报告
- 如果你想要在 Allure 报告中添加一些自定义的内容,如项目介绍、测试团队信息等,可以通过修改报告模板来实现。
- 在allure-report目录下找到plugins目录,创建一个自定义的插件目录(例如my-plugin)。
- 在my-plugin目录中创建一个plugin.js文件,编写 JavaScript 代码来添加自定义内容到报告中。例如:
 = 'my-plugin';
exports.render = function (data) {
    return `
        <div class="my-plugin-section">
            <h2>自定义内容</h2>
            <p>这是我们项目的一些额外信息。</p>
        </div>
    `;
};- 然后在index.html文件中引入这个自定义插件:
<script src="plugins/my-plugin/plugin.js"></script>5.3 配置报告的环境信息
- 在allure-report目录下创建一个environment.properties文件,用于配置报告的环境信息。
- 在文件中可以添加键值对来表示环境变量,例如:
Environment=Production
Browser=Chrome 90.0
OS=Windows 10这些环境信息将显示在 Allure 报告的环境信息部分,方便了解测试执行的环境背景。
通过以上步骤,我们详细介绍了 Pytest 与 Allure 报告的集成过程,从准备工作到在测试中使用 Allure 特性,再到生成和定制报告。
 
 
                     
            
        













 
                    

 
                 
                    