# case **Repository Path**: wuhuhuan/case ## Basic Information - **Project Name**: case - **Description**: AI 测试用例生成平台 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2026-08-25 - **Last Updated**: 2026-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Case Generator 一个网页版的测试自动化平台:**接口 / Web / App / PC 端 / 性能** 测试,支持 AI 生成用例、场景编排、分布式执行和报告。 > 想细看:[部署文档.md](部署文档.md)(服务器部署与排错)、[README-详细.md](README-详细.md)(旧版详细说明)、[AGENTS.md](AGENTS.md)(开发维护) --- ## 一、跑起来(本机,5 分钟) 需要 Python 3.10+(Windows / Linux / macOS 都行)。 ```bash git clone https://gitee.com/wuhuhuan/case.git cd case python -m venv .venv .venv\Scripts\activate # Windows # source .venv/bin/activate # Linux / macOS pip install -r requirements.txt python manage.py migrate python manage.py init_menu_permissions python manage.py createadmin # 会打印随机密码;也可 --password 你的密码 python manage.py runserver # 打开 http://127.0.0.1:8000 ``` 登录后看左侧菜单即可,功能都在菜单里。 --- ## 二、Windows 上怎么跑 ### 方式 A:一键脚本(最省事) 双击 **`start.bat`**(或在 cmd 里运行)。它会自动:装基础依赖 → 建库 → 初始化菜单 → 建管理员 → 启动服务,然后浏览器打开 。 登录账号:`admin` / `admin123` —— **登录后请立刻到「个人信息」改密码**。 两个提醒: - 它只装了**基础依赖**;要用 Web/App/PC 测试、AI 生成等完整功能,先执行一次: ```bat .venv\Scripts\activate pip install -r requirements.txt ``` - 装了 Node.js 时它会尝试启动 Electron 桌面客户端;只想用网页版就用方式 B。 ### 方式 B:手动(推荐,和 Linux 一样) ```bat cd /d 项目目录 python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt python manage.py migrate python manage.py init_menu_permissions python manage.py createadmin --password 你的密码 python manage.py runserver 0.0.0.0:8000 ``` 浏览器打开 (`0.0.0.0` 让同局域网其他电脑也能访问,记得放行防火墙 8000 端口)。 ### 桌面客户端(可选,需 Node.js 18+) ```bat client.bat :: 连本机 client.bat http://10.0.0.5:8000 :: 连远程服务器 ``` ### 执行节点(可选,多机/远程执行) ```bat set AGENT_TOKEN=和主服务一样的token agent.bat ``` 然后在主服务的 `节点管理` 里新增这个节点地址。 ### 其它小工具 | 脚本 | 用途 | |---|---| | `agent.bat` | 启动执行节点(分布式执行) | | `client.bat` | 启动 Electron 桌面客户端 | | `emulator.bat` | 启动 Android 模拟器(App 测试用) | | `cdp-browser.bat` | 启动 Chrome CDP 调试浏览器(远程浏览器用) | | `ngrok-tunnel.bat` | 把本机节点端口暴露到公网 | ### Windows 常见坑 - **PowerShell 激活 venv 报“禁止运行脚本”**:执行一次 `Set-ExecutionPolicy -Scope CurrentUser RemoteSigned`,或改用 cmd。 - **pip 报 GBK / UnicodeDecodeError**:先 `set PYTHONUTF8=1`,或 `python -m pip install -U pip` 再装。 - **改了页面没变化**:Python / 模板改动**必须重启**服务;`static/` 下的 JS/CSS 会自动生效。 - **PC 端测试**:只在 Windows 有效(依赖 `pywinauto`,`pip install -r requirements.txt` 已包含)。 --- ## 三、新手怎么玩(按这个顺序) 1. **接口测试**:`接口测试 → 接口集合` 建集合、加请求,点「发送」看结果;用「断言」「提取变量」串流程。 2. **Web 测试**:`Web 测试 → 录制`,浏览器里点一遍自动生成步骤;也可以「AI 生成」用一句话生成步骤。 3. **App / PC 测试**:先在 `设备管理 / PC 应用管理` 连上手机或桌面应用,再录制或 AI 生成。 4. **测试编排**:`测试场景` 把接口/Web/App/PC 步骤编成一条流程(支持子场景、循环、条件、失败继续)。 5. **性能测试**:`性能测试` 上传 .jmx 或在线编辑脚本 → 运行 → 看实时曲线和报告;任务里可选「监控被压服务器」(SSH 采集它的 CPU/内存,和执行机一起记录)。 **记录**里可回看每次结果、勾选两条**对比**、下载原始 **JTL/JMX/日志**、导出 **CSV**、删除。 顶栏「**导出报告**」(或任务行「报告」)会按业务模板导出 Excel:按测试场景分组、自动填好持续时间/并发数/平均·最小·最大响应/TPS/请求总量/成功率/错误数/CPU/内存/测试时间,组尾附「最大tps」。 6. **报告与监控**:`报告` 看执行结果;`系统监控` 看在线上、日志、服务器状态、SSO 配置。 --- ## 四、部署到服务器(Linux) ```bash cd /opt && git clone https://gitee.com/wuhuhuan/case.git case && cd case python3.11 -m venv .venv .venv/bin/pip install -r requirements.txt cp .env.example .env vi .env # 至少改:DJANGO_SECRET_KEY、ALLOWED_HOSTS、AGENT_TOKEN .venv/bin/python manage.py migrate .venv/bin/python manage.py init_menu_permissions .venv/bin/python manage.py createadmin --password '你的密码' bash run.sh -d # 后台启动(日志 output/run.log) # bash run.sh stop | restart | status ``` **日常更新**:`git pull && bash run.sh restart` **记住**:改了 Python 或 `templates/` 必须重启;`static/` 下的 JS/CSS 会自动生效。 --- ## 五、可选配置(都写在 .env,改完必须重启) | 想做什么 | 配什么 | |---|---| | 用 AI 生成用例/追问 | `LLM_PROVIDER=openai`、`OPENAI_API_KEY`、`OPENAI_MODEL`、`OPENAI_BASE_URL` | | 性能测试 | 到 `系统设置 → JMeter / 性能测试` 点「**一键下载并配置 JMeter**」「**一键下载并配置 Java(JDK 17)**」(走国内镜像、装到项目 `tools/`,不需要 root),或点「自动检测并保存」用已装好的;大并发可加 `JMETER_JVM_ARGS=-Xms1g -Xmx2g` | | 登录页「一键登录」 | 后台 `系统监控 → SSO 登录` 里配置(OIDC / CAS / 企业微信 / 钉钉 / 飞书…,有预置模板) | --- ## 六、常见问题 - **菜单里没有新功能**:跑一次 `python manage.py init_menu_permissions`;确认账号有对应权限(`admin` 角色全有)。 - **提示「节点未配置 AGENT_TOKEN」或 403**:主服务和节点要设**相同**的 `AGENT_TOKEN`,然后都重启。 - **改了页面没变化**:Python / 模板改动**必须重启**服务。 - **AI 提示「内置规则生成」**:说明没连上大模型,页面会显示具体原因(未配 Key / 缺依赖 / 调用失败)。 - **性能测试提示找不到 JMeter / Java**:到 `系统监控 → 系统设置 → JMeter / 性能测试`,点「**一键下载并配置 JMeter**」和「**一键下载并配置 Java(JDK 17)**」即可(国内镜像、免 root、自动填路径);也可以用「自动检测并保存」识别已装好的,或手动填写路径。 - **JMeter 报 insufficient memory / Cannot allocate memory**:JMeter 默认堆 1g,机器内存不够。到 系统设置 → JMeter / 性能测试 → JMeter JVM 参数 填 -Xms256m -Xmx512m -XX:MaxMetaspaceSize=128m,或给机器加内存/swap;并发大时用执行节点分摊。