У меня была такая же проблема, как и у вас, и для меня использование интерфейса прослушивателя Robot Framework было наиболее удобным решением.
Метод output_file
из API Listener версии 3 будет вызван, когда запись в выходной файл будет готова. Аргументом метода является абсолютный путь к выходному XML-файлу, и все это необходимо для создания любых новых отчетов.
Пример:
import os
"""Listener that parses the output XML when it is ready and creates a unique log."""
ROBOT_LISTENER_API_VERSION = 3
def output_file(path):
# parse xml with etree or lxml
log_dir = os.path.split(path)[0]
print('Extra log: %s' % (log_dir + '\\extra.log'))
Консольный журнал выполнения теста:
D:\robot_framework>robot --listener my_listener.py my_test.robot
==============================================================================
My Test
==============================================================================
Some Test | PASS |
------------------------------------------------------------------------------
My Test | PASS |
1 critical test, 1 passed, 0 failed
1 test total, 1 passed, 0 failed
==============================================================================
Extra log: D:\robot_framework\extra.log
Output: D:\robot_framework\output.xml
Log: D:\robot_framework\log.html
Report: D:\robot_framework\report.html
Дополнительный файл журнала указан среди выходных данных по умолчанию.