yujuanqin's picture
refactor file sturcture
778443c
from pytest import fixture
from playwright.sync_api import sync_playwright
from environment import *
from lib.app_runner import AppRunner
from lib.page_runner import PageRunner
from lib.report import AccuracyReport, DelayReport, LogReport
from lib.utils import get_time_str
@fixture(scope="session")
def log_file():
if RUN_TYPE == RunType.electron:
log_file = APP_LOG
elif RUN_TYPE == RunType.code:
log_file = CODE_LOG
elif RUN_TYPE == RunType.dev:
log_file = DEV_LOG
else:
raise TypeError(f"invalid run_type: {RUN_TYPE}")
return log_file
@fixture(scope="session")
def app():
app = AppRunner(RUN_TYPE)
app.start()
yield app
app.stop()
@fixture(scope="module")
def page():
with sync_playwright() as p:
page = PageRunner(RUN_TYPE).start(p)
yield page
@fixture(scope="module")
def accuracy_report(request):
report = AccuracyReport()
yield report
report.to_csv(REPORTS_DIR/f"accuracy_report_{get_time_str()}.csv")
@fixture(scope="module")
def delay_report(request):
report = DelayReport()
yield report
report.to_csv(REPORTS_DIR/f"delay_report_{get_time_str()}.csv")
@fixture(scope="session")
def log_report(request):
report = LogReport()
yield report
report.to_csv(REPORTS_DIR/f"log_report_{get_time_str()}.csv")