首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Robot Framework API -如何获取套件及其测试用例结果

Robot Framework API -如何获取套件及其测试用例结果
EN

Stack Overflow用户
提问于 2020-06-18 02:50:52
回答 1查看 698关注 0票数 0

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

代码语言:javascript
复制
TestSuite
  Test-1
    Step 1
    Step 2
  Test-2
    Step 1
  Test-3
    Step 1
    Step 2
    Step 3

我想解析output.xml以获得如下结果:

代码语言:javascript
复制
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

到目前为止,我只使用以下代码获得了套件文件的名称和结果:

代码语言:javascript
复制
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())

这将给出以下输出:

代码语言:javascript
复制
Test-1 | PASS
Test-2 | PASS
Test-3 | PASS

我可以使用下面的代码获得测试用例的名称和结果:

代码语言:javascript
复制
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())

但是输出结果是:

代码语言:javascript
复制
Step 1 | PASS
Step 2 | PASS
Step 1 | PASS
Step 1 | PASS
Step 2 | PASS
Step 3 | PASS

因此,我需要在Jira中更新结果的套件文件没有关系。

我想到的唯一一件事就是在每个测试用例名称中包含套件文件名,但我想了解更多关于robot.api的知识。我研究了the documentation很多次,但现在对我来说还不够清楚。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-17 21:29:06

我的一个同事帮我解决了这个问题。我遗漏的是:

代码语言:javascript
复制
test.parent

或者是我自己想出来的:

代码语言:javascript
复制
test.longname

它给出了如下输出:

代码语言:javascript
复制
TestSuite.Test-1.Step 1
TestSuite.Test-1.Step 2
...

它记录在here中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62436283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档