小能豆

可以使用 robot.api 获取失败的测试用例名称吗?

python

我正在尝试使用 python 中的机器人 api 从 output.xml 获取失败的测试用例名称,我能够使用以下代码获取失败/通过测试的计数,但找不到任何获取测试用例名称的方法。提前致谢。

from robot.api import ExecutionResult

result = ExecutionResult('output.xml')
result.configure(stat_config={'suite_stat_level': 2,
                              'tag_stat_combine': 'tagANDanother'})
stats = result.statistics
print stats.total.critical.failed
print stats.total.critical.passed
print stats.tags.combined[0].total

阅读 107

收藏
2023-06-13

共1个答案

小能豆

要获取失败的测试用例名称,你可以使用 Robot Framework API 提供的一些方法和属性。

ExecutionResult 对象中,你可以使用 suite 属性来访问测试套件的相关信息。每个测试套件都包含一个或多个测试案例。

你可以迭代每个测试套件,并检查每个测试案例的状态(通过或失败)。对于失败的测试案例,你可以获取其名称。

以下是一个示例代码,展示了如何获取失败的测试用例名称:

from robot.api import ExecutionResult

result = ExecutionResult('output.xml')
result.configure(stat_config={'suite_stat_level': 2,
                              'tag_stat_combine': 'tagANDanother'})

failed_test_cases = []

for suite in result.suite.suites:
    for test in suite.tests:
        if test.status == 'FAIL':
            failed_test_cases.append(test.name)

print(failed_test_cases)

在上面的示例中,我们创建了一个空列表 failed_test_cases,然后迭代每个测试套件中的测试案例。如果测试案例的状态是 ‘FAIL’,则将其名称添加到列表中。

运行这段代码后,failed_test_cases 列表将包含所有失败的测试用例的名称。

请注意,这只是一个简单的示例,假设你的测试结果 output.xml 遵循标准的 Robot Framework 输出格式。你可能需要根据你的测试结果的实际结构进行调整和修改。

2023-06-13