В моем скрипте 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
.