conftest.py文件内封装日志
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :python_gb
@File :conftest.py
@IDE :PyCharm
@Author :大杯可乐不加糖
@Date :2025/5/6 17:29
"""
import sys
import pytest
import os
from loguru import logger
import allure
@pytest.fixture(scope="function", autouse=True)
def configure_logger(request):
log_dir = log_path
if not os.path.exists(log_dir):
os.makedirs(log_dir)
log_file = os.path.join(log_dir, "testcase_run.log") # 通过main入口执行用例日志写入路径
# 移除默认配置
logger.remove()
# 配置日志输出到文件
logger.add(log_file, format="{time} {level} {module}.{function}() at line {line}-{message}", level="DEBUG", encoding="utf-8")
# 配置日志输出到终端
logger.add(
sys.stdout,
format="<green>{time:YYYY-MM-DD HH:mm:ss.SSS}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>",
level="INFO"
)
yield
# 日志信息写入allure报告
with open(log_file, "r", encoding="utf-8") as f:
allure.attach(f.read(), name="Test Logs", attachment_type=allure.attachment_type.TEXT)