接口测试是巧克力测试平台的核心功能之一。本指南将带你深入了解如何进行高效的API测试,让你的接口测试变得简单而有趣!
接口测试是验证系统各个模块间接口的正确性、稳定性和安全性的测试方法。简单来说,就是检查API是否按预期工作。
- ✅ RESTful API测试 - GET、POST、PUT、DELETE等
- 🔐 认证测试 - Token、Session等认证方式
- 📊 数据验证 - 响应数据格式和内容验证
- ⚡ 性能测试 - 响应时间和并发测试
- 🔄 自动化测试 - 定时执行和CI/CD集成
平台可以自动从后端代码中同步测试用例,这是最高效的方式!
- 进入 "接口测试" → "用例管理"
- 点击 "同步测试用例" 按钮
- 选择要同步的模块(可多选)
- 点击 "开始同步"
- 等待同步完成
# 后端代码示例
def test_user_login():
"""用户登录接口测试"""
# 测试逻辑
pass
def test_user_register():
"""用户注册接口测试"""
# 测试逻辑
pass平台会扫描这些以 test_ 开头的函数,自动生成测试用例。
- 筛选功能: 按模块、场景、标签筛选
- 搜索功能: 支持用例名称和描述搜索
- 批量操作: 批量选择、删除、导出
- 详情查看: 点击用例名称查看详细信息
用例ID: 001
用例名称: test_user_login
所属模块: user_module
测试场景: 用户登录
路径描述: /api/user/login
标签: login, auth
更新时间: 2024-01-01 10:00:00
测试套件是将相关测试用例组织在一起的容器,就像把相关的测试"打包"成一个整体。
套件名称: 用户模块测试套件
套件描述: 包含用户注册、登录、信息修改等功能测试
所属项目: 选择对应项目
测试类型: 接口测试
测试环境: dev/test/prod
- 按模块选择: 选择整个模块的所有用例
- 按场景选择: 选择特定业务场景的用例
- 自定义选择: 手动勾选需要的用例
- 智能推荐: 系统根据历史数据推荐相关用例
- 执行顺序: 串行执行 / 并行执行
- 失败策略: 遇到失败继续 / 遇到失败停止
- 重试机制: 失败重试次数和间隔
- 超时设置: 单个用例和整体超时时间
- 在用例列表中找到目标用例
- 点击 "运行" 按钮
- 选择测试环境
- 点击 "开始执行"
- 进入 "套件管理"
- 找到目标套件
- 点击 "运行" 按钮
- 配置执行参数:
测试环境: dev 并发数: 1 重试次数: 0 超时时间: 30秒 - 点击 "开始执行"
- 选择多个套件: 勾选多个套件批量执行
- 按项目执行: 执行整个项目的所有套件
- 按环境执行: 在指定环境中执行所有相关测试
执行过程中可以实时查看:
- 📊 执行进度: 当前执行到第几个用例
- ⏱️ 执行时间: 已用时间和预估剩余时间
- ✅ 成功数量: 已通过的用例数
- ❌ 失败数量: 失败的用例数
- 🔄 执行状态: 运行中/已完成/已停止
执行时间: 2024-01-01 14:30:00
执行环境: dev
总用例数: 50
通过数量: 45
失败数量: 3
跳过数量: 2
通过率: 90%
执行时长: 2分30秒
- ✅ 用例名称: test_user_login
- ⏱️ 执行时间: 0.5秒
- 📝 响应数据: JSON格式响应内容
- 🔍 断言结果: 所有断言通过
- ❌ 用例名称: test_user_register
- ⏱️ 执行时间: 2.1秒
- 🚨 错误信息: 邮箱格式验证失败
- 📝 错误详情:
AssertionError: Expected status code 200, got 400 Response: {"error": "Invalid email format"} - 🔧 建议修复: 检查邮箱格式验证逻辑
- PDF报告: 适合打印和存档
- Excel报告: 便于数据分析
- HTML报告: 在线查看和分享
- JSON数据: 用于系统集成
通过测试计划实现定时自动执行:
计划名称: 每日回归测试
执行套件: 核心功能测试套件
执行环境: test
定时规则: 0 2 * * * (每天凌晨2点)
通知方式: 邮件 + 钉钉
0 2 * * * # 每天凌晨2点
0 */4 * * * # 每4小时执行一次
0 9 * * 1-5 # 工作日上午9点
0 0 1 * * # 每月1号零点
平台提供API接口,可以轻松集成到CI/CD流水线中:
# Jenkins Pipeline 示例
curl -X POST "http://test-platform/api/auto_pytest/run_suite" \
-H "Authorization: Bearer ${TOKEN}" \
-d '{"suite_id": 123, "env": "test"}'支持使用变量和参数化数据:
{
"test_data": [
{"username": "user1", "password": "pass1"},
{"username": "user2", "password": "pass2"}
],
"environment_vars": {
"base_url": "http://api.example.com",
"api_key": "${API_KEY}"
}
}- Excel数据源: 从Excel文件读取测试数据
- 数据库数据源: 从数据库查询测试数据
- API数据源: 从其他API获取测试数据
- JSON路径断言: 验证JSON响应中的特定字段
- 正则表达式断言: 使用正则表达式验证响应内容
- 数据库断言: 验证数据库中的数据变化
- 自定义断言: 编写自定义验证逻辑
问题: 点击同步按钮后没有反应 解决方案:
- 检查后端服务是否正常运行
- 确认测试代码格式是否正确
- 查看浏览器控制台错误信息
- 检查网络连接状态
问题: 测试用例执行时报错 解决方案:
- 检查测试环境配置是否正确
- 确认API接口是否可访问
- 验证测试数据是否有效
- 查看详细错误日志
问题: 测试结果与预期不符 解决方案:
- 检查断言逻辑是否正确
- 确认测试数据是否符合预期
- 验证环境配置是否一致
- 检查API接口返回数据格式
- 单一职责: 每个用例只测试一个功能点
- 独立性: 用例之间不应该有依赖关系
- 可重复: 用例应该可以重复执行
- 清晰命名: 用例名称应该清楚表达测试目的
- 按模块组织: 将同一模块的用例放在一个套件中
- 按场景组织: 将同一业务场景的用例组织在一起
- 按优先级组织: 区分冒烟测试、回归测试等不同级别
- 冒烟测试: 每次部署后快速验证核心功能
- 回归测试: 定期执行全量测试确保功能稳定
- 专项测试: 针对特定功能或场景的深度测试