Войдите в выходной файл И стандартный вывод в поведении

Я не вижу трассировку в своей консоли во время выполнения поведения, когда я перенаправляю вывод на с помощью опция cmd -o

Пример журнала с -o:

2021-05-24:14:42:52, INFO     | environment.py         :22   : Before all
2021-05-24:14:42:54, INFO     | launch_test.py         :144  : 1
2021-05-24:14:42:54, INFO     | launch_test.py         :147  : feature: autogen_Generate_Cloud.feature | name: Run all projects from specified folder -- @1.1 Projects | project: Test_Beamer_Car1 | number: 1 --> FAILED

Пример журналов без включенной опции -o:

Exception TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType
2021-05-24:14:50:57, ERROR    | launch_test.py         :141  : Exception thrown during behave run
Traceback (most recent call last):
[REDACTED TRACEBACK]
TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType
2021-05-24:14:50:57, INFO     | launch_test.py         :144  : 1
2021-05-24:14:50:57, INFO     | launch_test.py         :147  : feature: autogen_Generate_Cloud.feature | name: Run all projects from specified folder -- @1.1 Projects | project: Test_Beamer_Car1 | number: 1 --> FAILED

Чего я пытаюсь достичь? Имея последний формат журнала, но вывод также перенаправляется в файл.

Что я пробовал?:

Я запускаю поведение из скрипта python в соответствии с этим SO сообщение (с пользовательскими классами раннера и контекста)

Мои текущие параметры поведения:

[PATH to feature files],
"--no-summary",
"-k",
"--no-junit",
"-f=allure_behave.formatter:AllureFormatter",
"--no-capture",
"--no-capture-stderr",
f"-i={scenario.feature}",
f"--name={scenario.name}",
f"-o={output_file}"

Мне нужно использовать AllureFormatter, поскольку программа использует allure для создания отчетов, но, похоже, она перехватывает вывод консоли и возвращает его только в файл, а не в стандартный вывод или стандартный вывод.


person w8eight    schedule 24.05.2021    source источник
comment
Закончился синтаксическим анализом выходного файла и распечаткой трассировки, если статус теста нарушен. Не особенно чистое решение, но оно работает   -  person w8eight    schedule 26.05.2021