【发布时间】:2020-10-07 16:50:51
【问题描述】:
我有一个测试套件目录,其中包含带有一个或多个测试用例的测试套件文件。假设它看起来像这样:
TestSuite
Test-1
Step 1
Step 2
Test-2
Step 1
Test-3
Step 1
Step 2
Step 3
我想解析 output.xml 以获得这样的结果:
Test-1 | PASS
Test-1 | Step 1 | PASS
Test-1 | Step 2 | PASS
Test-2 | PASS
Test-2 | Step 1 | PASS
Test-3 | PASS
Test-3 | Step 1 | PASS
Test-3 | Step 2 | PASS
Test-3 | Step 3 | PASS
到目前为止,我已经设法使用此代码仅获取套件文件名称和结果:
from robot.api import ExecutionResult, SuiteVisitor
class PrintSuiteInfo(SuiteVisitor):
def visit_suite(self, suite):
print('{} | {}'.format(suite.name, suite.status))
result = ExecutionResult('output.xml')
result.suite.suites.visit(PrintSuiteInfo())
给出这个输出:
Test-1 | PASS
Test-2 | PASS
Test-3 | PASS
我可以使用以下代码获取测试用例名称和结果:
from robot.api import ExecutionResult, ResultVisitor
class PrintTestInfo(ResultVisitor):
def visit_test(self, test):
print('{} | {}'.format(test.name, test.status))
result = ExecutionResult('output.xml')
result.visit(PrintTestInfo())
但输出是:
Step 1 | PASS
Step 2 | PASS
Step 1 | PASS
Step 1 | PASS
Step 2 | PASS
Step 3 | PASS
因此与我需要在 Jira 中更新结果的套件文件无关。
我想到的唯一一件事就是在每个测试用例名称中包含套件文件名,但我想了解更多关于 robots.api 的信息。我多次查看the documentation,但现在对我来说还不够清楚。
【问题讨论】:
标签: automated-tests robotframework