首页 > 解决方案 > 我可以使用robot.api 获取失败的测试用例名称吗?

问题描述

我正在尝试使用 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

标签: pythonrobotframework

解决方案


可能你需要ResultVisitor. 这样的事情应该会有所帮助:

from robot.api import ExecutionResult, ResultVisitor

class Visitor(ResultVisitor):

    def __init__(self):
        self.failed = []

    def end_test(self, test):
        if test.status == "FAIL":
            self.failed.append(test)

visitor = Visitor()

result = ExecutionResult('output.xml')
result.visit(visitor)
print(visitor.failed)

文档可以在https://robot-framework.readthedocs.io/en/v3.1.2/autodoc/robot.result.html#module-robot.result.visitor找到


推荐阅读