Install
openclaw skills install ai-test-case-generatorAI 自动生成测试用例工具。基于高级测试架构师角色,使用等价类划分、场景分析法、正交分解、状态迁移等方法生成覆盖全面的测试用例集。支持输出 Markdown 格式并调用接口转换为 Excel 测试用例。使用场景:(1) 根据需求文档生成测试用例 (2) 设计功能测试用例 (3) 补充边界值和异常流测试用例 (4) 生成零遗漏的测试用例集
openclaw skills install ai-test-case-generator格式示例: 模块功能-操作-条件-预期结果
功能: 明确测试所属的模块或核心功能(使用需求文档中的标准术语)
操作/场景: 描述用户执行的具体操作或测试场景
条件: 说明测试的前置条件、输入参数或边界条件
预期结果: 简述用例的预期输出
完整示例:
正向用例:
反向用例:
# 平台测试用例(生成时可用8个字以内的标题当前需求)
## 测试用例导入层级用户自行修改
- tc-PX(其中 PX 代表用例等级,取值只能是 P0、P1、P2、P3):[用例名称]
- pc:[前置条件(一个用例中前置条件只出现一次)]
- [用例步骤描述示例 XX 1]
- [预期结果描述示例 XX 1(预期结果与用例步骤是通过严格的空格缩来进行一一对应的关系,请严格注意缩进格式)]
- [用例步骤描述示例 XX 2]
- [预期结果描述示例 XX 2](如果有多个预期结果通过中文逗号","分隔,在一行输出多个预期结果)
- [用例步骤描述示例 XX 3]
- [预期结果描述示例 XX 3]
- rc:[备注(可以填入测试场景描述,如:校验必填性和长度限制、验证新建正常场景等等);测试数据;测试用例设计方法:业务流程法、错误推测法、等价类、边界值/临界条件、因果图法、多用户角色等等]
- tag:[标签(只能填入测试类型:功能测试、兼容性测试、易用性测试、性能测试、安全测试、接口测试、冒烟测试、可靠性测试、高可用测试;)]
- tc-P0:正常用户登录验证(模板示例)
- pc:用户已注册并拥有有效账号和密码
- 输入正确的用户名
- 用户名输入框显示输入内容
- 输入正确的密码
- 密码输入框显示输入内容
- 点击登录按钮或者回车键盘按钮
- 成功登录跳转至系统主页,同时显示欢迎信息(如果有多个预期结果通过中文逗号","分隔,在一行输出多个预期结果)
- rc:测试正常登录场景;测试数据:正确的用户名:testuser,正确的密码:Test123456;业务流程法
- tag:功能测试
生成 Markdown 测试用例后,必须调用以下接口将 Markdown 转换为 Excel 格式:
# 方案1:推荐 - 使用 curl(Windows/Linux/Mac 均支持)
curl -k -X POST "http://office-tools.wh.ctrm.5636cloud.com/api/v1/office/md-to-excel" \
--data-urlencode "md_data=<生成的markdown内容>" \
--data-urlencode "module_path=/功能测试"
# 方案2:如果方案1失败,尝试 Python(需要安装 requests 库)
python -c "
import requests
url = 'http://office-tools.wh.ctrm.5636cloud.com/api/v1/office/md-to-excel'
files = {'md_data': (None, '<生成的markdown内容>'), 'module_path': (None, '/功能测试')}
r = requests.post(url, files=files, verify=False)
print(r.text)
"
参数说明:
-k:忽略 SSL 证书验证(内网环境必备)--data-urlencode:自动处理中文 URL 编码http:// 而非 https://(更稳定)接口返回格式:
{
"traceId": "xxx",
"timestamp": "2026-03-09",
"code": "0000",
"message": "操作成功",
"data": {
"download_link": "http://office-tools.wh.ctrm.5636cloud.com/api/v1/office/download/20260309/测试用例_Excel格式_20260309165529.xlsx",
"case_count": 2
}
}
[下载 Excel](http://...)[下载 Excel](链接地址)(xx),接口解析会失败导致用例丢失。预期结果中的描述请使用英文括号()或不使用括号