У меня есть каталог набора тестов, который содержит файлы набора тестов с одним или несколькими тестами. Скажем, это выглядит так:
TestSuite
Test-1
Step 1
Step 2
Test-2
Step 1
Test-3
Step 1
Step 2
Step 3
Я хотел бы проанализировать вывод. 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.
Единственное, что пришло мне в голову, это включить имя файла пакета в каждое имя тестового примера, но я хотел бы узнать больше о robot.api. Я много раз просматривал документацию , но сейчас это для меня недостаточно ясно.