Используйте прослушиватели платформы робота для чтения пути к файлу результатовPython

Программы на Python
Ответить
Anonymous
 Используйте прослушиватели платформы робота для чтения пути к файлу результатов

Сообщение Anonymous »

Я разработал несколько тестовых библиотек для robotframework, которые очень соответствуют моим потребностям.
Я упаковываю эти библиотеки в колесо и распространяю его среди пользователей через PyPi и pip.
Пользователь может установить это колесо с помощью pip и запустить любую команду robot или pabot для запуска тестов роботов, созданных с использованием ключевых слов из моих тестовых библиотек.
Мне нужно загрузить этот файл результатов в другое приложение. Я хочу использовать общее решение, которое могло бы работать как с роботом, так и с pabot.
Я пробовал использовать прослушиватели здесь, но пока столкнулся с нижеуказанными проблемами:
< ol>
[*]Прослушиватели имеют обработчики событий, которые срабатывают во время выполнения. Это позволяет мне получать пути к файлам результатов с помощью функций прослушивателя, а именно: файл_вывода, файл_журнала, файл_отчета.

Код: Выделить всё

from robot.api import logger

class CustomListener:
ROBOT_LISTENER_API_VERSION = 3  # Specify listener API version

def __init__(self):
self.output_file_path = None
self.log_file_path = None
self.report_file_path = None

def output_file(self, path):
"""Called when the output file path is known."""
self.output_file_path = path
logger.info(f"Output file saved at: {path}")

def log_file(self, path):
"""Called when the log file path is known."""
self.log_file_path = path
logger.info(f"Log file saved at: {path}")

def report_file(self, path):
"""Called when the report file path is known."""
self.report_file_path = path
logger.info(f"Report file saved at: {path}")

def close(self):
"""Called when the test execution ends."""
#Some custom logic

Это позволяет мне фиксировать пути к файлам журналов для выполнения робота, но в случае pabot этот прослушиватель регистрируется в отдельных процессах робота, которые запускает pabot, а не в родительском процессе pabot.
Следовательно, не могу прочитать пути в случае pabot с использованием прослушивателей.
  • В случае pabot мне нужно прочитать объединенные результаты файл и загрузите его в другое приложение.
    По состоянию на теперь мне не удалось выяснить событие, которое pabot запускает при завершении или создании файла журнала.
  • Я попробовал зарегистрировать прослушиватель загрузки в тестовых библиотеках сам по себе, но при этом вообще не активируются функции output_file, log_file и report_file.


Подробнее здесь: https://stackoverflow.com/questions/791 ... -file-path
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»