# BaseAPITestCase 核心方法能力一览 ## 1. 生命周期钩子方法(可重写) | 方法名 | 能力描述 | | ---------------------------- | ---------------------------------------------------------------- | | `__init__` | 初始化测试用例,加载接口 schema、参数、上下文等 | | `generate_path_params` | 生成/修改路径参数(如 `/user/{id}` 中的 `id`),支持动态构造 | | `generate_query_params` | 生成/修改 query 参数,支持边界值、缺失、类型异常等场景 | | `generate_headers` | 生成/修改请求头,支持鉴权、格式异常等测试 | | `generate_request_body` | 生成/修改请求体,支持字段缺失、类型不符等复杂场景 | | `modify_request_url` | 动态修改请求 URL,适用于特殊路径拼接等需求 | | `validate_request_url` | 请求发送前校验 URL 合规性 | | `validate_request_headers` | 请求发送前校验头部数据 | | `validate_request_body` | 请求发送前校验请求体 | | `validate_response` | 响应校验,断言状态码、响应体、业务逻辑等 | | `check_performance` | 性能校验,检查响应耗时等 | ## 2. 辅助工具方法(极大简化用例开发) | 方法名 | 能力描述 | | ------------------------------------- | ------------------------------------------------------------- | | `_get_resolved_request_body_schema` | 获取并解析当前接口的请求体 schema,自动处理 $ref | | `_find_removable_field_path` | 查找可被移除的必填字段路径,便于生成“缺失字段”场景 | | `_remove_value_at_path` | 按路径从数据中移除指定字段,支持嵌套结构 | | `_find_simple_type_field_in_schema` | 查找 schema 中第一个简单类型字段,便于类型异常测试 | | `_find_first_simple_type_parameter` | 查找第一个简单类型的参数(如 query/header),便于参数异常测试 | | `_find_required_parameter_name` | 查找第一个必填参数名 | | `expect_error_response` | 标准化校验错误响应(状态码、错误码等),减少样板代码 | | `validate_data_against_schema` | 用 schema 校验任意数据结构,便于响应体合规性断言 | | `passed` / `failed` | 快速生成验证结果对象,便于断言输出 | ## 3. 日志与上下文 | 方法名/属性 | 能力描述 | | ------------------------ | -------------------------------- | | `self.logger` | 统一日志输出,便于调试与结果追踪 | | `self.endpoint_spec` | 当前接口的详细规范,已处理 $ref | | `self.global_api_spec` | 全局 API 规范,便于跨接口引用 | --- > **说明**: > > - 生命周期钩子方法由框架自动调用,用户可按需重写,实现灵活的请求构造与验证。 > - 辅助工具方法极大简化了 schema 处理、字段查找、数据操作等底层细节,让用例开发者专注于业务逻辑。 > - 通过这些方法,测试用例可轻松实现“字段缺失、类型异常、参数边界、响应断言、性能校验”等多种自动化测试能力。