allure结合pytest生成测试报告

结合 pytestAllure 可以生成详细而美观的测试报告,帮助测试人员和开发者更好地理解测试结果。这包括测试的执行情况、步骤、附件(如截图)、分类以及优先级标记。下面是如何在 pytest 中使用 Allure 生成测试报告的步骤:

安装 Allure 和相关插件

  1. 安装 pytestpytest-allure-adaptor:

    bash 复制代码
    pip install pytest
    pip install allure-pytest
  2. 安装 Allure 命令行工具:

    • 根据操作系统,从 Allure releases 下载最新的 Allure 命令行工具,并进行安装。
    • 确保将 Allure 的 bin 目录添加到环境变量 PATH 中。

编写测试代码

在测试函数中,你可以使用 Allure 的 API 来定义测试步骤、附件等。

python 复制代码
import pytest
import allure

@allure.feature("Feature1")
@allure.story("Story1")
@allure.step("Test the addition functionality")
def test_addition():
    assert 1 + 1 == 2

@allure.step("Test the subtraction functionality")
def test_subtraction():
    with allure.step("Perform subtraction"):
        result = 5 - 2
        allure.attach(str(result), name="result", attachment_type=allure.attachment_type.TEXT)
    assert result == 3

运行测试并生成报告

  1. 运行测试生成结果文件:

    • 使用 pytest 运行测试,并将结果输出到指定目录:
    python 复制代码
    pytest --alluredir=./allure-results

    上述命令会在项目目录下生成一个 allure-results 文件夹,包含测试结果。

  2. 生成并查看 Allure 报告:

    • 使用 Allure 命令行工具生成 HTML 格式报告,并启动本地服务器查看:
    python 复制代码
    allure serve ./allure-results

    该命令会在本地启动一个服务器并自动打开浏览器查看报告。

报告内容

  • 功能 (Feature) 和故事 (Story): 可以对测试进行功能和故事层面的分类。
  • 步骤 (Step): 详细记录测试的各个步骤,协助问题定位。
  • 附件 (Attachment): 自动将相关的上下文、输出信息等附加到报告中。

额外配置

  • 标记和等级 : 可以使用 allure.label 将测试标记为重要级别或其他。常用标签包括 severity (阻止插件、关键、正常等等)。

  • 测试分类和分组 : 使用 pytest.mark 提供的功能在测试全局范围内定义更复杂的标签和分组。

通过 pytest 和 Allure 的结合,你能够生成全面而细致的测试报告,使得不仅能看到测试结果,还能帮助团队诊断问题,了解测试覆盖情况,便于测试改进与分析。

相关推荐
老毛肚2 小时前
jeecg-boot-base-core 02 day
javascript·python
yaoxin5211232 小时前
434. Java 日期时间 API - Period 基于日期的时间段
java·开发语言·python
凡人叶枫3 小时前
Effective C++ 条款30:透彻了解 inlining 的里里外外
linux·开发语言·c++·嵌入式开发·effective c++
学逆向的3 小时前
C++纯虚函数
开发语言·c++·网络安全
岁月宁静3 小时前
RAG 文档摄入全链路,从原理到生产落地
vue.js·人工智能·python
程序员二叉4 小时前
【JUC】ThreadLocal底层原理|内存泄漏|弱引用|跨线程传递方案
java·开发语言·面试·职场和发展·juc
程序员二叉4 小时前
【JUC】线程池全套深度详解|参数|流程|拒绝策略|调优|异常处理
java·开发语言·jvm·算法·面试·juc
JaydenAI4 小时前
[对比学习LangChain和MAF-07]如何引入人机交互的审批流程
python·ai·langchain·c#·agent·hitl·maf
神奇元创4 小时前
商用级光路加速卡:大模型推理的极速落地方案
python·神经网络·fpga开发·dsp开发
凡人叶枫4 小时前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++