如何在没有启动实际测试的情况下在Robot Framework中获取测试用例列表?

Dan*_*Led 8 python robotframework

我有测试用例的文件test.robot.

如何在不激活测试的情况下从命令行或python获取此测试用例的列表?

Bry*_*ley 10

使用机器人解析器可以轻松解析机器人测试套件:

from robot.parsing.model import TestData
suite = TestData(parent=None, source=path_to_test_suite)
for testcase in suite.testcase_table:
    print(testcase.name)
Run Code Online (Sandbox Code Playgroud)


Bła*_*lik 6

对于 v3.2 及更高版本:

在 RobotFramework 3.2 中,解析 API 已被重写,因此 Bryan Oakley 的答案将不再适用于这些版本。

与 3.2 之前和 3.2 以后版本兼容的正确代码如下:

from robot.running import TestSuiteBuilder
from robot.model import SuiteVisitor


class TestCasesFinder(SuiteVisitor):
    def __init__(self):
        self.tests = []

    def visit_test(self, test):
        self.tests.append(test)


builder = TestSuiteBuilder()
testsuite = builder.build('testsuite/')
finder = TestCasesFinder()
testsuite.visit(finder)

print(*finder.tests)
Run Code Online (Sandbox Code Playgroud)

进一步阅读:


Lau*_*iel 5

您可以查看testdoc 工具。就像文档中解释的那样,“创建的文档是 HTML 格式的,它包括每个测试套件和测试用例的名称、文档和其他元数据”。