# LLM-TestCase **Repository Path**: tomtang12/llm-test-case ## Basic Information - **Project Name**: LLM-TestCase - **Description**: 本项目是一个基于大语言模型(LLM)和 Agent 技术的智能测试用例生成系统。分析用户自然语言->拆解需求分析->自动生成测试用例->结果Excel 文件导出的全流程自动化,能极大地提升测试工程师的工作效率。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-24 - **Last Updated**: 2026-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LLM-Agent自动测试用例生成工具 ## 项目简介 这是一个基于 Flask 和 LangChain 开发的测试用例生成工具,能够根据用户输入的自然语言需求描述,自动化进行需求拆解,生成测试点和测试用例,并将结果导出到 Excel 文件的 Web-Agent智能应用。极大的提高了测试用例的生成效率和质量 ### 功能特性 - 根据自然语言描述需求全自动生成测试点 - 根据测试点自动生成详细而全面的测试用例(包含正常场景和异常场景以及幂等,并发,防刷等) - 自动将测试用例导出到 Excel 文件 - 提供 Web 界面,方便用户操作 - 支持追加模式和覆盖模式写入 Excel 文件 ## 依赖项 项目依赖以下库: - langchain==0.3.25 - dashscope==1.17.0 # 用于访问 Qwen 模型 - pandas==2.2.2 # 用于输出表格 - openpyxl==3.1.2 # Excel 文件支持 - python-dotenv==1.0.1 # 加载 .env 配置 - langchain-experimental==0.3.4 - flask==3.0.0 # Web 应用框架 ## 安装与启动步骤 ### 1. 创建虚拟环境 ```bash # 在项目根目录下执行 python3 -m venv env_testcase ``` ### 2. 激活虚拟环境并安装依赖 ```bash # 激活虚拟环境 source env_testcase/bin/activate # 安装依赖 pip install -r requirements.txt ``` ### 3. 创建 .env 文件 在项目根目录下创建 `.env` 文件,并添加以下内容: ```bash # 用于访问 Qwen 模型的 API 密钥 DASHSCOPE_API_KEY=your_api_key_here ``` **注意:** 请将 `your_api_key_here` 替换为您的实际 API 密钥,否则无法访问 Qwen 模型。 ### 4. 主要功能 - agent目录下是访问LLM的核心代码 - prompt目录下是LLM的提示模板 - 生成的excel存储在output目录下 - 支持追加模式和覆盖模式写入 Excel 文件 - output目录下的excel文件会定期进行清理,最大保存时间修改web_app.py的CLEANUP_DAYS参数修改 ### 5. 启动项目 激活虚拟环境并安装依赖后,执行以下命令启动项目: ```bash # 在激活的虚拟环境中执行 source env_testcase/bin/activate && python web_app.py ``` 项目将在 `http://127.0.0.1:5100` 上运行。 ## 使用说明 ### 1. 访问前端页面 打开浏览器,访问 `http://localhost:5100`,即可看到测试用例生成的前端页面。 ### 2. 生成测试用例 1. 在 "需求描述" 文本框中输入详细的需求描述 2. 选择 "写入模式"(追加模式或覆盖模式) 3. 输入 "Excel 文件名"(默认为 `test_cases.xlsx`) 4. 点击 "生成测试用例" 按钮 ### 3. 查看结果 生成完成后,页面会显示以下内容: - 生成的测试点 - 生成的测试用例 - 导出结果 ### 4. 下载 Excel 文件 在结果页面中,点击 "下载" 链接即可下载生成的 Excel 文件。 ## API 接口 ### 1. 健康检查接口 ```bash GET /api/health ``` **响应:** ```json { "status": "ok", "message": "服务运行正常" } ``` ### 2. 生成测试用例接口 ```bash POST /api/generate ``` **请求参数:** - `requirement`:需求描述(必填) - `mode`:写入模式,"append" 追加模式(默认),"overwrite" 覆盖模式(可选) - `filename`:Excel 文件名,默认 "test_cases.xlsx"(可选) **响应:** ```json { "status": "success", "message": "测试用例生成成功", "test_points": "生成的测试点", "test_cases": "生成的测试用例 JSON 字符串", "export_result": "导出结果" } ``` ### 3. 下载文件接口 ```bash GET /api/download/ ``` **参数:** - `filename`:要下载的文件名 **响应:** - 如果文件存在,返回文件下载响应 - 如果文件不存在,返回错误信息 ## 项目结构 ``` llm-test-case/ ├── agents/ │ ├── agent_gen_case_from_points.py # 根据测试点生成测试用例 │ └── agent_gen_points_from_requirement.py # 根据需求生成测试点 ├── prompts/ │ ├── generate_test_cases.md # 生成测试用例的提示模板 │ └── generate_test_points.md # 生成测试点的提示模板 ├── templates/ │ └── index.html # 前端页面 ├── util/ │ ├── export_result_excel.py # 导出测试用例到 Excel │ └── utils.py # 工具函数 ├── .env # 环境变量配置 ├── output # Excel文件输出目录 ├── LICENSE # 许可证文件 ├── README.md # 项目说明文件 ├── requirements.txt # 项目依赖 └── web_app.py # Flask 应用主文件 ``` ## 注意事项 1. **API 密钥设置**:必须在 `.env` 文件中设置有效的 `DASHSCOPE_API_KEY`,否则无法访问 Qwen 模型。 2. **依赖安装**:确保在虚拟环境中安装所有依赖,避免与系统 Python 环境冲突。 3. **代码修复**:如果在启动过程中遇到导入路径错误或变量未定义的问题,请参考故障排除部分。 4. **端口占用**:确保端口 5100 未被其他服务占用,否则可能导致启动失败。 5. **文件路径**:确保所有文件路径正确,特别是 `prompts` 目录下的提示模板文件。 ## 故障排除 ### 1. 无法访问 Qwen 模型 - 检查 `.env` 文件中的 `DASHSCOPE_API_KEY` 是否正确 - 确保网络连接正常,能够访问 DashScope API ### 2. 导入路径错误 - 检查 `agent_gen_points_from_requirement.py` 和 `agent_gen_case_from_points.py` 中的 `utils` 模块导入路径 - 检查 `web_app.py` 中的 `export_test_cases` 函数导入路径 ### 3. 变量未定义错误 - 确保 `web_app.py` 中正确导入了 `DEFAULT_TEST_POINTS_COUNT` 变量 ### 4. 端口占用错误 - 停止占用端口 5100 的其他服务 - 或修改 `web_app.py` 中的端口号 ## 联系方式 如果您在使用过程中遇到任何问题,请随时联系项目维护者。