根据需求文档(PRD)生成可用于评审的测试用例,交互流程对齐「testcase-generator」技能:
- 粘贴需求 →(必要时)一条追问 → 生成结果
- 输出同时包含:Markdown 表格、CSV、以及可下载的
export_testcases_xlsx.py(用openpyxl写出testcases.xlsx) - 用例覆盖 正向 / 逆向 / 异常 / 并发 四类场景(大模型模式下由提示词约束;演示模式为固定模板)
需要 Node.js 18+。
cd testcase-generator-web
npm start浏览器打开:http://127.0.0.1:3780(不要用「双击打开 index.html」,那样地址栏是 file://,接口会失败。)
打不开时请先确认: 终端里已经执行了 npm start,且窗口不要关;本服务默认占用 3780 端口。另开一个终端可执行 npm run open-site(macOS)自动用浏览器打开。
若提示 端口占用(EADDRINUSE):说明 3780 上已有进程(常见是上次 npm start 没关)。可先 lsof -nP -iTCP:3780 -sTCP:LISTEN 查看 PID,再 kill <PID>;或直接换端口:PORT=3781 npm start,浏览器访问 http://127.0.0.1:3781。
不要把密钥发到聊天或提交到 Git。 在项目目录复制 .env.example 为 .env,填写后重启服务。
DeepSeek(推荐)
DEEPSEEK_API_KEY:在 DeepSeek 开放平台 创建DEEPSEEK_MODEL:可选,默认deepseek-chatDEEPSEEK_BASE_URL:可选,默认https://api.deepseek.com/v1
或 OpenAI 兼容服务
OPENAI_API_KEY、OPENAI_BASE_URL(默认https://api.openai.com/v1)、OPENAI_MODEL(默认gpt-4o-mini)
优先级:若同时配置,优先使用 DEEPSEEK_API_KEY。
其它:PORT 可选,默认 3780。
未配置密钥时:可不勾选「演示模式」,服务端也会用本地模板生成占位用例;勾选「演示模式」会跳过对过短需求的追问,方便快速看表结构。
- 改完
.env必须重启npm start(只刷新网页不会重读密钥)。 - 若曾在终端执行过
export DEEPSEEK_API_KEY=(空值),会挡住.env;请在新终端里启动,或执行unset DEEPSEEK_API_KEY后再npm start。 - 看终端启动日志:应出现「已配置大模型: deepseek …」;若没有,检查变量名是否为
DEEPSEEK_API_KEY(勿多空格、勿用中文标点)。 - 页面右上角点 「刷新状态」,或切换回浏览器标签页会自动再检测。
server.mjs:静态文件 +/api/health+/api/generatepublic/:前端页面与脚本
- 需求文本少于约 30 字且未勾选演示模式时,会触发单次追问(与技能「一次只问一个问题」一致)。
- 下载的 Python 脚本将 CSV 以 Base64 内嵌,避免引号与换行破坏源码,运行效果与明文
csv_data = """..."""等价。