You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pytest-excel生成的Excel测试报告中添加测试步骤值

如何在pytest-excel报告中展示测试步骤的自定义值(比如newNum)

我之前也折腾过pytest-excel的自定义报告内容,刚好能给你一套可行的方案——核心是利用pytest自带的record_property fixture来传递你想展示的值,让插件自动把它加到Excel报告里。具体步骤如下:

1. 修改测试代码,记录自定义值

首先,在测试函数中引入record_property fixture,同时确保subNumbers函数返回计算结果,这样我们能拿到newNum的值并记录:

def subNumbers(fNum, sNum):
    newNum = fNum - sNum
    print(newNum)
    return newNum  # 新增返回值,方便测试函数获取计算结果

def test_subtraction(record_property):
    fNum = 15
    sNum = 7
    newNum = subNumbers(fNum, sNum)
    # 记录自定义属性:第一个参数是Excel里的列名,第二个是要展示的变量值
    record_property("Calculated Result (newNum)", newNum)
    # 这里可以添加你的断言逻辑
    assert newNum == 8

如果是参数化测试,这个方法同样适用,每个测试用例的newNum都会被单独记录到对应行:

import pytest

@pytest.mark.parametrize("fNum, sNum, expected", [(10,3,7), (20,5,15), (8,2,6)])
def test_subtraction_parametrized(record_property, fNum, sNum, expected):
    newNum = subNumbers(fNum, sNum)
    record_property("Calculated Result (newNum)", newNum)
    assert newNum == expected

2. 重新生成Excel报告

还是用你原来的命令运行测试即可:

py.test --excelreport=report.xls test.py

3. 查看结果

打开生成的report.xls,你会发现除了原来的SUITE NAME、TEST NAME、RESULT等列,多了一列你定义的Calculated Result (newNum),每一行对应的就是该测试用例中newNum的具体值。

原理很简单:pytest-excel会自动扫描所有通过record_property添加的测试自定义属性,并将它们作为额外列加入到Excel报告中,完美解决你要展示步骤中变量值的需求。

内容的提问来源于stack exchange,提问作者Sum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:38:47