本文档提供了ApiTestKit框架的完整API参考,帮助开发者了解如何使用框架的各种功能和类。
这是框架的主要入口点,用于创建API测试实例。
签名:
def api():
"""创建并返回一个新的API测试实例"""
return ApiAdapter()用法:
from apitestkit import api
response = api().get("https://api.example.com").send()设置测试名称。
参数:
name(str): 测试的名称
返回值: ApiAdapter实例(用于链式调用)
设置GET请求。
参数:
url(str): 请求的URL
返回值: ApiAdapter实例(用于链式调用)
设置POST请求。
参数:
url(str): 请求的URL
返回值: ApiAdapter实例(用于链式调用)
设置PUT请求。
参数:
url(str): 请求的URL
返回值: ApiAdapter实例(用于链式调用)
设置DELETE请求。
参数:
url(str): 请求的URL
返回值: ApiAdapter实例(用于链式调用)
设置PATCH请求。
参数:
url(str): 请求的URL
返回值: ApiAdapter实例(用于链式调用)
设置HEAD请求。
参数:
url(str): 请求的URL
返回值: ApiAdapter实例(用于链式调用)
设置OPTIONS请求。
参数:
url(str): 请求的URL
返回值: ApiAdapter实例(用于链式调用)
设置请求头。
参数:
headers_dict(dict): 请求头字典
返回值: ApiAdapter实例(用于链式调用)
设置URL查询参数。
参数:
params_dict(dict): 查询参数字典
返回值: ApiAdapter实例(用于链式调用)
设置JSON请求体。
参数:
json_data(dict/list): JSON数据
返回值: ApiAdapter实例(用于链式调用)
设置表单数据。
参数:
form_data(dict): 表单数据
返回值: ApiAdapter实例(用于链式调用)
设置文件上传。
参数:
files_dict(dict): 文件字典,格式为{'file': open('file.txt', 'rb')}
返回值: ApiAdapter实例(用于链式调用)
设置请求超时时间。
参数:
seconds(int/float): 超时时间(秒)
返回值: ApiAdapter实例(用于链式调用)
设置是否验证SSL证书。
参数:
verify_ssl(bool): 是否验证SSL
返回值: ApiAdapter实例(用于链式调用)
设置请求Cookie。
参数:
cookies_dict(dict): Cookie字典
返回值: ApiAdapter实例(用于链式调用)
发送请求并返回响应。
返回值: Response对象
启用流式响应处理。
返回值: ApiAdapter实例(用于链式调用)
设置流式响应的回调函数。
参数:
callback_func(callable): 回调函数,接收chunk和context参数context(dict, 可选): 上下文对象,用于在回调之间共享数据
返回值: ApiAdapter实例(用于链式调用)
设置会话变量。
参数:
name(str): 变量名称value(any): 变量值
返回值: ApiAdapter实例(用于链式调用)
断言响应状态码。
参数:
status_code(int): 期望的状态码
返回值: Response对象(用于链式调用)
断言JSON路径的值。
参数:
path(str): JSON路径,支持通配符expected_value(any, 可选): 期望的值
返回值: Response对象(用于链式调用)
断言JSON路径存在。
参数:
path(str): JSON路径
返回值: Response对象(用于链式调用)
断言JSON路径不存在。
参数:
path(str): JSON路径
返回值: Response对象(用于链式调用)
断言响应时间。
参数:
max_time(int): 最大响应时间(毫秒)
返回值: Response对象(用于链式调用)
断言响应包含指定文本。
参数:
text(str): 要查找的文本
返回值: Response对象(用于链式调用)
断言响应不包含指定文本。
参数:
text(str): 要查找的文本
返回值: Response对象(用于链式调用)
断言响应匹配正则表达式。
参数:
pattern(str/re.Pattern): 正则表达式模式
返回值: Response对象(用于链式调用)
断言响应头。
参数:
header_name(str): 头名称expected_value(str, 可选): 期望的值
返回值: Response对象(用于链式调用)
使用自定义断言函数。
参数:
assertion_func(callable): 自定义断言函数*args,**kwargs: 传递给断言函数的参数
返回值: Response对象(用于链式调用)
一次执行多个断言。
参数:
assertions_list(list): 断言列表,每个元素为元组(assertion_type, *args)
返回值: Response对象(用于链式调用)
使用JSON Schema验证响应。
参数:
schema(dict): JSON Schema定义
返回值: Response对象(用于链式调用)
从响应中提取变量。
参数:
name(str): 变量名称path(str): JSON路径
返回值: Response对象(用于链式调用)
响应状态码。
响应头字典。
原始响应内容(字节)。
响应内容(字符串)。
解析后的JSON数据。
请求耗时(timedelta对象)。
请求的URL。
响应Cookie。
解析并返回JSON响应。
返回值: 解析后的JSON对象(dict/list)
返回请求耗时(毫秒)。
返回值: float
将响应转换为字典。
返回值: dict
测试设置方法,每个测试类执行前调用一次。
测试清理方法,每个测试类执行后调用一次。
测试方法设置,每个测试方法执行前调用。
测试方法清理,每个测试方法执行后调用。
ApiAdapter实例,用于发送请求。
测试结果集合。
初始化测试套件。
参数:
name(str): 测试套件名称
添加测试用例。
参数:
test_case(TestCase): 测试用例实例
返回值: TestSuite实例(用于链式调用)
运行测试套件。
返回值: dict,包含测试结果
添加测试通知器。
参数:
notifier(BaseNotifier): 通知器实例
返回值: TestSuite实例(用于链式调用)
初始化测试场景。
参数:
name(str): 场景名称
添加测试步骤。
参数:
name(str): 步骤名称method(str): HTTP方法url(str): 请求URL**kwargs: 其他请求参数(headers, json, data等)
返回值: Scenario实例(用于链式调用)
执行测试场景。
返回值: dict,包含场景执行结果
设置场景前置处理函数。
参数:
before_func(callable): 前置处理函数
返回值: Scenario实例(用于链式调用)
设置场景后置处理函数。
参数:
after_func(callable): 后置处理函数
返回值: Scenario实例(用于链式调用)
初始化Agent适配器。
参数:
base_url(str): Agent API基础URL
设置请求模板。
参数:
name(str): 模板名称template(dict): 模板内容
返回值: AgentAdapter实例(用于链式调用)
发送聊天请求。
参数:
template(str): 模板名称messages(list): 消息列表
返回值: Response对象
设置配置值。
参数:
key(str): 配置键value(any): 配置值
获取配置值。
参数:
key(str): 配置键default(any, 可选): 默认值
返回值: 配置值或默认值
从文件加载配置。
参数:
file_path(str): 配置文件路径
保存配置到文件。
参数:
file_path(str): 配置文件路径
清空配置。
初始化断言对象。
参数:
response(Response): 响应对象
断言状态码。
参数:
status_code(int): 期望的状态码
返回值: ResponseAssertion实例(用于链式调用)
断言JSON路径的值。
参数:
path(str): JSON路径expected_value(any, 可选): 期望的值
返回值: ResponseAssertion实例(用于链式调用)
断言响应时间。
参数:
max_time(int): 最大响应时间(毫秒)
返回值: ResponseAssertion实例(用于链式调用)
断言响应包含文本。
参数:
text(str): 要查找的文本
返回值: ResponseAssertion实例(用于链式调用)
断言响应不包含文本。
参数:
text(str): 要查找的文本
返回值: ResponseAssertion实例(用于链式调用)
断言响应匹配正则表达式。
参数:
pattern(str/re.Pattern): 正则表达式模式
返回值: ResponseAssertion实例(用于链式调用)
断言响应头。
参数:
header_name(str): 头名称expected_value(str, 可选): 期望的值
返回值: ResponseAssertion实例(用于链式调用)
初始化报告生成器。
生成测试报告。
参数:
results(dict): 测试结果output_path(str): 输出路径title(str, 可选): 报告标题extra_data(dict, 可选): 额外数据
加载自定义报告模板。
参数:
template_path(str): 模板文件路径
初始化图表生成器。
生成性能测试图表。
参数:
results(dict): 性能测试结果output_path(str): 输出路径title(str, 可选): 图表标题
生成性能测试HTML报告。
参数:
results(dict): 性能测试结果output_path(str): 输出路径
初始化数据生成器。
生成用户名。
返回值: str
生成电子邮件地址。
返回值: str
生成电话号码。
返回值: str
生成地址。
返回值: str
生成出生日期。
参数:
min_age(int): 最小年龄max_age(int): 最大年龄
返回值: str
发送通知。
参数:
results(dict): 测试结果
初始化邮件通知器。
参数:
smtp_server(str): SMTP服务器smtp_port(int): SMTP端口username(str): SMTP用户名password(str): SMTP密码recipients(list): 收件人列表
发送邮件通知。
参数:
results(dict): 测试结果
初始化安全检查器。
执行安全检查。
参数:
response(Response): 响应对象checks(list, 可选): 要执行的检查列表
返回值: dict,包含检查结果