Как записать подробности журнала в pytest-html, а также записать в консоль? - PullRequest
0 голосов
/ 08 ноября 2019

В моем скрипте pytest мне нужно настроить отчет pytest-HTML для записи стандартного ввода одновременно с записью в консоль, поскольку в моем автоматическом тесте введен пользовательский ввод.

test_TripTick.py

import os
import sys
import pytest

from Process import RunProcess
from recordtype import recordtype
from pip._vendor.distlib.compat import raw_input

@pytest.fixture(scope="module")
def Process(request):
    # print('\nProcess setup - module fixture')
    fileDirectory = os.path.abspath(os.path.dirname(__file__))
    configFilePath = os.path.join(fileDirectory, 'ATR220_Config.json')
    process = RunProcess.RunProcess()
    process.SetConfigVariables(configFilePath)
    process.GetComPort(["list=PID_0180"])

    def fin():
        sys.exit()
        request.addfinalizer(fin)

    return process


def test_WipeOutReader(Process):
    assert Process.WipeOutTheReader() == True


def test_LoadingKeysIntoMemoryMap(Process):
    assert Process.LoadingKeysIntoMemoryMap() == True


def test_LoadingFW(Process):  # only use bar
    assert Process.LoadingFW() == True


def test_LoadingSBL(Process):
    assert Process.LoadingSBL() == True


def test_CCIDReadForPaymentCards(Process):
    assert Process.CCIDReadWrite('Payment Card') == True

В настоящее времяесли я запускаю следующую команду из командной строки Windows, я получаю вывод на консоль, но нет записанного вывода на HTML report.

pytest C:\Projects\TripTickAT\test_TripTick.py -s --html=Report.html --verbose

Кроме того, я хотел бы знать программный способ настройки HTML report, где я могу обновить file name, ordering test based on time of the execution и capturing the std-out.

...