Automated tests Robot框架API-如何获取套件及其测试用例结果

Automated tests Robot框架API-如何获取套件及其测试用例结果,automated-tests,robotframework,Automated Tests,Robotframework,我有一个测试套件目录,其中包含带有一个或多个测试用例的测试套件文件。假设它看起来像这样: TestSuite Test-1 Step 1 Step 2 Test-2 Step 1 Test-3 Step 1 Step 2 Step 3 Test-1 | PASS Test-1 | Step 1 | PASS Test-1 | Step 2 | PASS Test-2 | PASS Test-2 | Step 1 | PASS Test

我有一个测试套件目录,其中包含带有一个或多个测试用例的测试套件文件。假设它看起来像这样:

TestSuite
  Test-1
    Step 1
    Step 2
  Test-2
    Step 1
  Test-3
    Step 1
    Step 2
    Step 3
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
TestSuite.Test-1.Step 1
TestSuite.Test-1.Step 2
...
我想解析output.xml以获得如下结果:

TestSuite
  Test-1
    Step 1
    Step 2
  Test-2
    Step 1
  Test-3
    Step 1
    Step 2
    Step 3
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
TestSuite.Test-1.Step 1
TestSuite.Test-1.Step 2
...
到目前为止,我只使用以下代码获取了套件文件名和结果:

从robot.api导入ExecutionResult,SuiteVisitor
打印SuiteInfo类(SuiteVisitor):
def参观套房(自助、套房):
打印({}{}格式(suite.name,suite.status))
结果=ExecutionResult('output.xml')
result.suite.suites.visit(PrintSuiteInfo())
这将产生以下输出:

Test-1 | PASS
Test-2 | PASS
Test-3 | PASS
我可以使用以下代码获得测试用例名称和结果:

从robot.api导入ExecutionResult,ResultVisitor
类PrintTestInfo(结果查看器):
def访问测试(自测试):
打印({}{}格式(test.name,test.status))
结果=ExecutionResult('output.xml')
结果。访问(PrintTestInfo())
但结果是:

Step 1 | PASS
Step 2 | PASS
Step 1 | PASS
Step 1 | PASS
Step 2 | PASS
Step 3 | PASS
所以我需要在Jira中更新结果,这与套件文件没有关系


我唯一想到的是在每个测试用例名称中包含套件文件名,但我想了解更多关于robot.api的信息。我查看了很多次,但现在还不够清楚。

我的一位同事帮我解决了这个问题。我缺少的是:

test.parent
或者是我自己发现的:

test.longname
输出如下:

TestSuite
  Test-1
    Step 1
    Step 2
  Test-2
    Step 1
  Test-3
    Step 1
    Step 2
    Step 3
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
TestSuite.Test-1.Step 1
TestSuite.Test-1.Step 2
...
这是有案可查的