Install
openclaw skills install agent-testcase-generator基于测试点生成标准化测试用例,含前置条件、测试步骤、预期结果、优先级。覆盖功能测试、API 测试、UI 自动化测试场景。 **⚠️ 强制要求:所有测试用例必须使用标准格式,见 [测试用例标准格式.md](测试用例标准格式.md)** Use when: 用户说"生成测试用例"、"写测试用例"、"测试用例设计"。 NOT for: 执行自动化测试、生成测试点(用 agent-testpoint-generator)。
openclaw skills install agent-testcase-generator知识库: 7616288931050507220
节点: 效果评测/测试用例
wiki_node: FZXtwQd70iFCD3kifibcdBbpnId
⚠️ 强制要求:所有测试用例必须使用标准格式,包含14个必填字段!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 作为分隔线| 要素 | 说明 | 示例 |
|---|---|---|
| 用例编号 | 唯一标识 | TC-CREATE-001 |
| 用例名称 | 简明描述测试内容 | 创建智能体 - 正常流程 |
| 所属模块 | 功能模块 | 智能体管理 |
| 所属需求 | 关联需求ID | REQ-001 |
| 优先级 | P0/P1/P2 | P0 |
| 用例类型 | 功能/接口/UI/性能/安全 | 功能 |
| 测试目的 | 为什么要测试 | 验证创建功能正确性 |
| 前置条件 | 执行前必须满足的条件 | 用户已登录、有权限 |
| 测试数据 | 具体输入数据 | 名称="测试助手"、模型="deepseek-chat" |
| 执行步骤 | 可执行的操作步骤 | 1.进入页面 2.输入数据 3.点击按钮 |
| 预期结果 | 期望的结果(可验证) | 1.提示成功 2.页面跳转 3.数据正确 |
| 验证点 | 详细验证点 | 检查点1、检查点2、检查点3 |
| 边界条件 | 边界值情况 | 最小值、最大值、空值 |
| 异常场景 | 相关异常 | 名称为空、重复、超长 |
| 自动化标记 | 是否可自动化 | ✅ 可自动化 / ❌ 手工测试 |
| 数据准备 | 是否需要预置数据 | 需要预置用户账号 |
| 用例 | 预期结果 | 实际结果(通过) | 实际结果(失败) |
|---|---|---|---|
| 创建智能体 | 1.提示"创建成功" 2.跳转到列表页 | 1.✅ 提示"创建成功" 2.✅ 跳转到列表页 | 1.❌ 提示"系统错误" 2.❌ 停留在创建页 |
| 名称为空校验 | 提示"名称不能为空" | ✅ 提示"名称不能为空" | ❌ 创建成功,无提示 |
| API创建成功 | 返回201,包含agent_id | ✅ 返回201,agent_id=12345 | ❌ 返回500,body为空 |
【测试用例】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 用例标识
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
用例编号: TC-CREATE-001
用例名称: 创建智能体-正常流程
所属模块: 智能体管理
所属需求: REQ-001
优先级: P0
用例类型: 功能
设计人: [设计人]
设计日期: [YYYY-MM-DD]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试目的
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
验证智能体创建功能在正常输入下的正确性,确保用户能够成功创建智能体
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 前置条件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 用户已登录系统
- 用户有创建智能体的权限
- 网络连接正常
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试数据
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
输入数据:
- 名称:测试助手
- 描述:这是一个测试智能体
- 模型:deepseek-chat
预置数据:
- 用户账号已存在
- 模型列表已加载
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 执行步骤
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 进入智能体创建页面
2. 在名称输入框输入"测试助手"
3. 在描述输入框输入"这是一个测试智能体"
4. 在模型选择下拉框选择"deepseek-chat"
5. 点击"创建"按钮
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 预期结果
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 预期1:页面显示"创建成功"提示
- 预期2:页面自动跳转到智能体列表页
- 预期3:智能体列表中显示新创建的"测试助手"
- 预期4:数据库中新增一条智能体记录,name="测试助手"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 预期结果验证点
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
验证点1:页面提示验证
- 验证内容:页面显示"创建成功"
- 验证方式:页面元素检查
- 预期值:提示文本等于"创建成功"
验证点2:页面跳转验证
- 验证内容:页面URL变化
- 验证方式:URL检查
- 预期值:URL包含"/agents/list"
验证点3:列表数据验证
- 验证内容:列表显示新智能体
- 验证方式:列表元素检查
- 预期值:列表第一项name="测试助手"
验证点4:数据库验证
- 验证内容:数据库记录
- 验证方式:数据库查询
- 预期值:存在记录,name="测试助手", status="active"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 实际结果(执行时填写)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[执行时填写]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 边界条件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 名称长度:1-50字符
- 描述长度:0-200字符
- 必填字段:名称、模型
- 选填字段:描述
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 异常场景
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 异常1:名称为空 → 预期:提示"名称不能为空"
- 异常2:名称重复 → 预期:提示"名称已存在"
- 异常3:名称超长 → 预期:提示"名称长度不能超过50"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 关联用例
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 前置用例:TC-LOGIN-001(用户登录)
- 后置用例:TC-CREATE-002(名称为空校验)
- 相关用例:TC-EDIT-001(编辑智能体)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 自动化标记
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
是否可自动化: ✅ 是
自动化工具: Playwright
自动化优先级: P0
自动化状态: 已完成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 数据准备
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- [ ] 测试账号准备
- [ ] 测试数据准备
- [ ] 预置数据准备
- [ ] 环境配置准备
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 执行历史
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| 执行日期 | 执行人 | 执行结果 | 缺陷ID | 备注 |
|----------|--------|----------|--------|------|
| | | | | |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 备注
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
无
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【测试用例】
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 用例标识
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
用例编号: TC-API-001
用例名称: 创建智能体接口-正常请求
所属模块: 智能体管理-API
所属需求: REQ-API-001
优先级: P0
用例类型: 接口
设计人: [设计人]
设计日期: [YYYY-MM-DD]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试目的
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
验证创建智能体接口在正常请求参数下的正确性
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 前置条件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 用户已登录,获取有效token
- 用户有创建智能体的权限
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 测试数据
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
请求方法:POST
请求URL:/api/v1/agent
请求头:
- Content-Type: application/json
- Authorization: Bearer {token}
请求体:
{
"name": "测试助手",
"description": "这是一个测试智能体",
"model": "deepseek-chat"
}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 执行步骤
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 构造请求参数
2. 发送POST请求
3. 接收响应结果
4. 验证响应状态码
5. 验证响应体内容
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 预期结果
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 预期1:HTTP状态码为201
- 预期2:响应体包含agent_id字段
- 预期3:响应体name字段等于"测试助手"
- 预期4:响应体status字段等于"active"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 预期结果验证点
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
验证点1:状态码验证
- 验证内容:HTTP状态码
- 验证方式:response.status_code
- 预期值:201
验证点2:响应体字段验证
- 验证内容:agent_id字段存在
- 验证方式:response.json()
- 预期值:agent_id不为空
验证点3:响应体数据验证
- 验证内容:name字段值
- 验证方式:response.json()
- 预期值:name="测试助手"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 实际结果(执行时填写)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[执行时填写]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 边界条件
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 请求体大小:最大10KB
- 字段长度:name最大50字符
- 必填字段:name、model
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 异常场景
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 异常1:缺少name字段 → 预期:返回400,错误信息"name不能为空"
- 异常2:无效token → 预期:返回401,错误信息"未授权"
- 异常3:重复名称 → 预期:返回409,错误信息"名称已存在"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 关联用例
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 前置用例:TC-API-AUTH-001(获取token)
- 后置用例:TC-API-002(缺少必填参数)
- 相关用例:TC-API-GET-001(获取智能体列表)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 自动化标记
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
是否可自动化: ✅ 是
自动化工具: pytest + requests
自动化优先级: P0
自动化状态: 已完成
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 数据准备
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- [ ] 测试账号准备
- [ ] 获取有效token
- [ ] 预置数据准备
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📋 执行历史
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
| 执行日期 | 执行人 | 执行结果 | 缺陷ID | 备注 |
|----------|--------|----------|--------|------|
| | | | |