fix(exchange,case_validator),refactor(),feat(model): 解决 Pydantic 模型初始化与变量占位符的类型冲突,优化变量替换逻辑,重构 CaseInfo 模型并引入延迟校验机制
- 引入 SmartInt 和 SmartDict 类型,支持 YAML 占位符与业务类型的自动转换。 - 优化 CaseInfo 互斥校验逻辑,确保 request 与 api_action 二选一。 - 统一使用 Pydantic V2 的 model_config 规范。 - 将变量替换时机提前至模型实例化之前,支持占位符在校验前完成真实值注入, 保证了 int/bool 等字段的类型转换正确性。 - 优化断言渲染时机,支持响应提取值关联。
This commit is contained in:
15
core/base_api.py
Normal file
15
core/base_api.py
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/env python
|
||||
# coding=utf-8
|
||||
import logging
|
||||
|
||||
from core.session import Session
|
||||
from core import settings
|
||||
|
||||
class BaseApi:
|
||||
def __init__(self, session: Session = None):
|
||||
self.session = session or Session(base_url=settings.base_url)
|
||||
self.logger = logging.getLogger(self.__class__.__name__)
|
||||
|
||||
def _log_action(self, method_name: str, **kwargs):
|
||||
"""统一的动作日志记录"""
|
||||
self.logger.info(f"执行动作: {method_name} | 参数: {kwargs}")
|
||||
Reference in New Issue
Block a user