从飞书项目单子生成OPML格式的XMind测试用例。需要配置飞书MCP服务器(lark-prj-remote 和 lark-mcp-remote)。
Generates OPML-formatted XMind test cases from Feishu project items using MCP servers.
/plugin marketplace add mookechee/mookechee-cc-plugins/plugin install lark-testcase-generator@mookechee-cc-plugins从飞书项目单子 "$ARGUMENTS" 自动生成 OPML 格式的 XMind 测试用例。
此命令需要以下 MCP 服务器:
| MCP 服务器 | 用途 |
|---|---|
lark-prj-remote | 读取飞书项目单子信息(描述、验收标准) |
lark-mcp-remote | 读取飞书云文档(技术设计文档) |
运行 /mcp 查看当前已配置的 MCP 服务器。
/lark-testcase-generator:generate <飞书项目URL>
/lark-testcase-generator:generate https://project.feishu.cn/uts5wn/story/detail/6589464068
从 "$ARGUMENTS" 中提取:
project_key: 空间标识(如 uts5wn)work_item_id: 工作项 ID(如 6589464068)URL 格式:https://project.feishu.cn/{project_key}/story/detail/{work_item_id}
调用 mcp__lark-prj-remote__get_workitem_brief:
project_key: {提取的project_key}
work_item_id: {提取的work_item_id}
获取工作项名称和基本信息。
再次调用 mcp__lark-prj-remote__get_workitem_brief,指定字段:
project_key: {project_key}
work_item_id: {work_item_id}
fields: ["description", "field_803289", "field_13a9cf", "wiki"]
字段说明:
description: 需求描述field_803289: 验收标准field_13a9cf: 技术设计文档链接如果 field_13a9cf(技术设计文档链接)存在:
BI8EwMrSQiLOWfkzvFycZy2ZnHh)mcp__lark-mcp-remote__docs_v1_content_get:query:
doc_token: {提取的doc_token}
doc_type: docx
content_type: markdown
此步骤为必须执行步骤,不可跳过!
从PRD文档中提取并分析以下内容:
界面架构分析
UI组件清单
交互流程分析
视觉规范
多语言/国际化
根据获取的信息,内部分析:
识别主要功能模块
绘制用户操作路径
识别状态切换点
重要:必须按以下顺序设计测试用例,确保PRD的UI和交互设计被优先覆盖!
首先逐条分析验收标准,确保每条验收标准都有对应的测试用例:
验收标准1 → 测试用例1, 测试用例2, ...
验收标准2 → 测试用例3, 测试用例4, ...
...
如果PRD文档中包含UI和交互设计,必须生成以下测试用例:
| 子分类 | 测试内容 | 优先级 |
|---|---|---|
| 界面布局 | 各区域位置、大小、显示/隐藏 | P0 |
| 组件显示 | 按钮、卡片、面板等组件的正确渲染 | P0 |
| 交互操作 | 点击、拖拽、输入、切换等操作响应 | P0 |
| 状态显示 | 在线/离线、已连接/未连接等状态指示 | P0 |
| 视图切换 | 不同视图之间的切换逻辑 | P0 |
| 主题切换 | 深色/浅色主题切换 | P1 |
| 多语言 | 语言切换、文案显示正确性 | P1 |
| 通知系统 | 各类通知的显示和交互 | P1 |
按以下分类设计测试用例:
| 分类 | 说明 | 典型优先级 |
|---|---|---|
| 功能测试 | 核心功能验证(非UI部分) | P0 |
| 状态切换测试 | 状态转换正确性 | P0-P1 |
| 边界值测试 | 最大值、最小值、默认值 | P1 |
| 异常场景测试 | 错误处理、异常恢复 | P0-P1 |
| 兼容性测试 | 多平台、多配置 | P1-P2 |
| 稳定性测试 | 重复操作、极端场景 | P2 |
生成的 OPML 文件必须符合以下结构:
<?xml version="1.0" encoding="UTF-8"?>
<opml version="2.0">
<head>
<title>{工作项名称}测试用例</title>
</head>
<body>
<outline text="{工作项名称}测试用例">
<outline text="用例名称">
<outline text="前置条件描述">
<outline text="执行步骤描述">
<outline text="预期结果描述">
<outline text="P0"/>
</outline>
</outline>
</outline>
</outline>
</outline>
</body>
</opml>
关键要求:
用例名称 → 前置条件 → 执行步骤 → 预期结果 → 优先级⚠️ OPML 格式规范(必须遵守):
| 规则 | 说明 | 错误示例 | 正确示例 |
|---|---|---|---|
| 禁止XML注释 | 不要使用 <!-- --> 注释,会导致XMind解析异常 | <!-- 模块1 --> | 直接删除注释 |
| 转义双引号 | 属性值中的双引号必须转义为 " | text="显示"hello"" | text="显示"hello"" |
| 转义尖括号 | 属性值中的 < 和 > 必须转义 | text="a<b>c" | text="a<b>c" |
| 转义&符号 | 属性值中的 & 必须转义为 & | text="A&B" | text="A&B" |
| 禁止emoji | 不要使用emoji字符,改用文字描述 | text="状态🟢" | text="状态(绿色)" |
XML实体转义对照表:
| 字符 | 实体编码 | 说明 |
|---|---|---|
" | " | 双引号 |
< | < | 小于号 |
> | > | 大于号 |
& | & | 与符号 |
' | ' | 单引号(可选) |
将 OPML 文件保存到:~/Testcase/opml/{工作项名称}_测试用例_{时间戳}.opml
时间戳格式:YYYYMMDD_HHmmss(如 20250106_143052)
如果目录不存在,先创建目录。
输出格式化的总结信息:
## 需求摘要
**需求名称**:{工作项名称} (m-{work_item_id})
**需求描述**:{description}
**验收标准**:
1. {验收标准1}
2. {验收标准2}
...
## 验收标准覆盖情况
| 验收标准 | 对应测试用例数 | 覆盖状态 |
|----------|---------------|----------|
| {验收标准1} | X | ✅ 已覆盖 |
| {验收标准2} | X | ✅ 已覆盖 |
## 测试用例统计
| 分类 | 用例数 | P0 | P1 | P2 |
|------|--------|----|----|-----|
| PRD UI/交互设计测试 | X | X | X | X |
| 功能测试 | X | X | X | X |
| {其他分类} | X | X | X | X |
| **合计** | **X** | **X** | **X** | **X** |
## 文件路径
`~/Testcase/opml/{工作项名称}_测试用例_{时间戳}.opml`
| 优先级 | 重要性 | 适用场景 |
|---|---|---|
| P0 | 最高 | 核心功能、验收标准直接相关、主流程、编译验证 |
| P1 | 中等 | 重要功能、边界条件、配置验证、异常处理 |
| P2 | 较低 | 辅助功能、极端场景、稳定性测试、可选特性 |
/generateGenerate ready-to-execute hypershift cluster creation commands from natural language descriptions
/generateGenerate documentation from TypeScript/JavaScript code, OpenAPI specs, GraphQL schemas, and SpecWeave specifications.