# xmind2testcase-lq **Repository Path**: QiLi1998/xmind2testcase-lq ## Basic Information - **Project Name**: xmind2testcase-lq - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-19 - **Last Updated**: 2026-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # xmind2testcase-lq > **这是 [xmind2testcase](https://github.com/zhuifengshen/xmind2testcase) 的定制分支(fork),不是上游官方版本。** > 面向「XMind 思维导图 → 禅道(ZenTao)测试用例 CSV」这一条链路做了调整, > 并把原本写死在源码里的项目相关信息改成了可配置项。 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://gitee.com/QiLi1998/xmind2testcase-lq/blob/main/LICENSE) ## 与上游的主要差异 | 方面 | 上游 `xmind2testcase` 1.5.0 | 本分支 `xmind2testcase-lq` | |---|---|---| | 导入包名 | `xmind2testcase` | `xmind2testcase_lq` | | 禅道 CSV 表头 | 9 列(所属模块 / 用例标题 / …) | **10 列**(用例编号 / 用例描述 / 测试类型 / 前置条件 / 操作步骤 / 期望结果 / 通过准则 / 实际输出 / 测试结论 / 测试用例优先级) | | 用例编号 | 无此列 | `<前缀>--001`,**前缀可配置** | | 用例编号前缀 | — | 参数 `case_id_prefix` > 环境变量 `XMIND2TESTCASE_CASE_ID_PREFIX` > 空 | | 测试类型 | `1` / `2`(手动 / 自动) | 中文类型:正向功能 / 反向功能 / 接口 / 性能 / 界面 / 安全性 | | 优先级映射 | 高 / 中 / 低 | 一级 / 二级 / 三级 / 四级 | | 前置条件拼接 | 用 `\n----\n` 分隔 | 直接相连(逐条去空白) | | 期望结果 | 只取第一条 | 支持多条,逐条编号后用换行连接 | | 只取行数据 | 无 | 新增 `xmind_to_rows()`,不落盘 | | 日志文件 | 无(或写死路径) | 环境变量 `XMIND2TESTCASE_LOG` 控制,目录自动创建 | | `webtool` 包位置 | 顶层包 `webtool` | 收进 `xmind2testcase_lq.webtool`,不污染全局命名空间 | | CLI 命令 | `xmind2testcase` | `xmind2testcase-lq` | 完整的逐文件差异见 [FORK_NOTES.md](https://gitee.com/QiLi1998/xmind2testcase-lq/blob/main/FORK_NOTES.md)。 ## 安装 ```bash pip install xmind2testcase-lq ``` 从源码安装: ```bash git clone https://gitee.com/QiLi1998/xmind2testcase-lq.git cd xmind2testcase-lq pip install . ``` ## 使用 ### 作为库调用 ```python from xmind2testcase_lq.zentao import xmind_to_rows, xmind_to_zentao_csv_file # 不设置前缀:编号形如 登录功能-001 rows = xmind_to_rows("用例.xmind") # 显式指定前缀:编号形如 我的项目-登录功能-001 rows = xmind_to_rows("用例.xmind", case_id_prefix="我的项目") # 直接落盘成 CSV csv_path = xmind_to_zentao_csv_file("用例.xmind", case_id_prefix="我的项目") ``` `rows` 第一行是表头,其后每行是一条用例。 ### 通过环境变量配置 适合不想改代码、或要走命令行的情况: ```bash # Linux / macOS export XMIND2TESTCASE_CASE_ID_PREFIX="我的项目" # Windows PowerShell $env:XMIND2TESTCASE_CASE_ID_PREFIX = "我的项目" ``` ```python rows = xmind_to_rows("用例.xmind") # 自动读取上面的环境变量 ``` ### 命令行 ```bash xmind2testcase-lq 用例.xmind -csv xmind2testcase-lq 用例.xmind -csv --case-id-prefix=我的项目 xmind2testcase-lq 用例.xmind # 同时输出 json / xml / csv xmind2testcase-lq webtool 8000 # 启动本地 Web 转换工具 ``` ## 配置项 全部通过环境变量控制,也可以用函数参数覆盖(参数优先级更高)。 | 环境变量 | 作用 | 默认值 | |---|---|---| | `XMIND2TESTCASE_CASE_ID_PREFIX` | 用例编号前缀 | 空(编号不含前缀) | | `XMIND2TESTCASE_LOG` | 日志文件路径,父目录不存在时自动创建 | 空(只输出到控制台) | | `XMIND2TESTCASE_LOG_LEVEL` | 日志级别 | `INFO` | > 设计原则:**源码中不出现任何本机路径或具体项目名**,所有环境相关信息都走配置。 ## 已知问题 - `xmind2testcase_lq.webtool` 会把 `running.log`、`uploads/`、`data.db3` 写在**包目录内**(沿用上游行为)。在只读的 site-packages 或受限环境下运行 `xmind2testcase-lq webtool` 可能失败。命令行转换功能不受影响。 ## 许可证与致谢 本项目基于 MIT 许可证发布,完整许可证文本见 [LICENSE](https://gitee.com/QiLi1998/xmind2testcase-lq/blob/main/LICENSE)。 上游项目:[zhuifengshen/xmind2testcase](https://github.com/zhuifengshen/xmind2testcase), 版权归 Devin 与 Toby Qin 所有。本分支保留了原始的 MIT 版权声明,仅在 上游 1.5.0 基础上做了上述定制改动。