- 引入 CaseEntity 包装器,实现数据模型与执行上下文解耦。 - 移除加载阶段的 deepcopy,优化大规模参数化用例的内存占用。 - 实现 perform 阶段的局部变量注入,确保参数化数据优先级高于全局缓存。
65 lines
1.3 KiB
Python
65 lines
1.3 KiB
Python
#!/usr/bin/env python
|
||
# coding=utf-8
|
||
|
||
"""
|
||
@author: CNWei
|
||
@Software: PyCharm
|
||
@contact: t6i888@163.com
|
||
@file: settings
|
||
@date: 2025/2/23 21:34
|
||
@desc:
|
||
"""
|
||
import os
|
||
from pathlib import Path
|
||
|
||
from dotenv import load_dotenv
|
||
|
||
BASE_DIR = (Path(__file__)).resolve().parents[1]
|
||
|
||
load_dotenv()
|
||
|
||
# --- 目录配置 ---
|
||
TEST_CASE_DIR = BASE_DIR / "test_cases"
|
||
|
||
|
||
|
||
OUTPUT_DIR = BASE_DIR / "outputs"
|
||
SCREENSHOT_DIR = OUTPUT_DIR / "screenshots"
|
||
LOG_DIR = OUTPUT_DIR / "logs"
|
||
LOG_BACKUP_DIR = LOG_DIR / "backups"
|
||
|
||
ALLURE_TEMP = BASE_DIR / "temp"
|
||
REPORT_DIR = BASE_DIR / "reports"
|
||
CONFIG_DIR = BASE_DIR / "config"
|
||
DATA_DIR = BASE_DIR / "data"
|
||
|
||
|
||
# 需要初始化的目录列表
|
||
REQUIRED_DIRS = [LOG_DIR, LOG_BACKUP_DIR, ALLURE_TEMP, SCREENSHOT_DIR]
|
||
|
||
# 核心 API 目录路径
|
||
API_PACKAGE = "api"
|
||
LOG_SOURCE = LOG_DIR / "pytest.log"
|
||
EXTRACT_CACHE = BASE_DIR / "data/extract.yaml"
|
||
|
||
# 可选:显式映射(类名 -> 完整模块路径),解决文件名不规则的问题
|
||
API_MAP = {
|
||
"UserAPI": "api.business.user",
|
||
"OrderAPI": "api.v2.order_manager"
|
||
}
|
||
|
||
allure_epic: str = "项目名称:answer"
|
||
allure_feature: str = "默认特征(feature)"
|
||
allure_story: str = "默认事件(story)"
|
||
|
||
test_suffix = "yaml"
|
||
|
||
base_url = os.getenv("BASE_URL")
|
||
|
||
rsa_public = ""
|
||
rsa_private = ""
|
||
|
||
if __name__ == '__main__':
|
||
print(BASE_DIR)
|
||
|