如何在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
相关产品推荐
相关产品推荐

