Files
hzdyjs/docs/测试文档/后勤管理/物业管理/维修分类/playwright-scripts/测试执行指南.md
T
zlwu 249b1dfeb4 feat: 完善项目开发规范和测试文档体系
📝 主要改进:
• Cursor配置模块化:拆分为前端、后端、移动端、文档、API测试5个专门规范文件
• API文档重新组织:按业务模块拆分到docs/开发文档/API/目录下
• 新增维修分类功能完整测试方案和自动化测试脚本
• 后端热启动脚本完善,支持Linux/Windows双平台
• 强化文档同步更新规范,确保代码与文档一致性

🔧 技术改进:
• 优化Cursor AI工作流程和代码生成质量
• 完善API测试规范(AES+RSA双重加密登录方法)
• 提升开发效率和代码质量标准化程度

�� 测试覆盖:
• 维修分类管理功能端到端测试验证通过
• 包含页面加载、CRUD操作、搜索功能等核心测试用例

更新时间:2025-07-01
2025-07-01 17:53:05 +08:00

299 lines
6.5 KiB
Markdown

# Playwright MCP 测试执行指南
## 🎯 使用说明
本指南将指导您在 Cursor 中使用 Playwright MCP 插件执行维修分类功能的完整测试。
## 📋 前置准备
### 1. 环境检查
```bash
✅ 系统运行状态确认
- 前端服务: http://localhost:80 (正常运行)
- 后端服务: http://localhost:8080 (正常运行)
- 数据库服务: 正常连接
✅ 测试账号准备
- 用户名: admin
- 密码: admin123
- 权限: 具备维修分类管理的完整权限
```
### 2. Cursor 环境准备
```bash
✅ Cursor 编辑器已安装最新版本
✅ Playwright MCP 插件已安装并启用
✅ 项目已在 Cursor 中打开
```
## 🚀 测试执行步骤
### 方式一:通过 Playwright MCP 直接执行
1. **打开测试脚本**
```
在 Cursor 中打开文件:
docs/测试文档/后勤管理/物业管理/维修分类/playwright-scripts/maintenance-category-e2e.js
```
2. **启动 Playwright MCP**
- 在 Cursor 中按 `Ctrl+Shift+P` (Windows/Linux) 或 `Cmd+Shift+P` (Mac)
- 输入 "Playwright" 并选择相关命令
- 选择 "Run Playwright Test" 或类似选项
3. **配置浏览器设置**
- 选择浏览器: Chrome/Chromium (推荐)
- 模式: Headed (可视化模式,便于观察测试过程)
- 窗口大小: 1920x1080 (推荐)
4. **开始执行测试**
- 点击"开始测试"或"Run"按钮
- 观察浏览器自动化执行过程
- 等待测试完成
### 方式二:通过 Cursor 聊天界面执行
1. **打开 Cursor 聊天**
- 在 Cursor 中打开 AI 聊天界面
- 确保 Playwright MCP 插件已连接
2. **发送测试命令**
```
请使用 Playwright MCP 执行维修分类功能测试:
1. 导航到维修分类页面 http://localhost:80/hq/pm/repairCategory
2. 执行完整的 CRUD 操作测试
3. 验证树形结构功能
4. 测试搜索和过滤功能
5. 检查数据验证规则
6. 生成详细的测试报告
```
3. **观察执行过程**
- AI 将自动控制浏览器执行测试
- 每个步骤都会有详细的执行日志
- 关键操作会自动截图记录
## 🧪 测试执行流程
### 阶段 1: 环境准备 (约 3 分钟)
```javascript
✅ 浏览器启动和初始化
✅ 导航到登录页面
✅ 执行用户登录
✅ 验证登录成功
✅ 导航到维修分类页面
```
### 阶段 2: 页面验证 (约 2 分钟)
```javascript
✅ 验证页面标题和结构
✅ 检查关键UI元素存在
✅ 验证数据表格加载
✅ 检查操作按钮可用性
```
### 阶段 3: CRUD 操作测试 (约 15 分钟)
```javascript
✅ 新增维修分类
- 填写完整表单信息
- 提交并验证结果
- 确认数据保存成功
✅ 查询分类信息
- 搜索新建分类
- 验证搜索结果准确性
- 重置搜索条件
✅ 编辑分类信息
- 修改分类属性
- 保存修改
- 验证更新结果
✅ 删除分类(清理阶段执行)
- 确认删除操作
- 验证数据移除
```
### 阶段 4: 树形结构测试 (约 10 分钟)
```javascript
✅ 创建父级分类
✅ 创建子级分类
✅ 验证父子关系
✅ 测试树形展示
✅ 检查展开/折叠功能
```
### 阶段 5: 搜索功能测试 (约 8 分钟)
```javascript
✅ 按名称搜索测试
✅ 按编码搜索测试
✅ 按状态过滤测试
✅ 组合条件搜索测试
✅ 搜索结果验证
```
### 阶段 6: 数据验证测试 (约 5 分钟)
```javascript
✅ 必填字段验证
✅ 数据格式验证
✅ 边界值测试
✅ 错误提示验证
```
### 阶段 7: 清理工作 (约 2 分钟)
```javascript
✅ 删除测试数据
✅ 恢复初始状态
✅ 生成测试报告
```
## 📊 测试结果查看
### 实时监控
- **控制台日志**: 查看每个步骤的执行状态
- **浏览器窗口**: 观察实际操作过程
- **截图记录**: 关键步骤的自动截图
### 测试报告
- **执行概要**: 总体测试结果统计
- **详细日志**: 每个测试用例的执行详情
- **问题记录**: 发现的 bug 和异常情况
- **性能数据**: 页面加载和操作响应时间
## 🔧 常见问题处理
### 问题 1: 登录失败
```bash
症状: 无法正常登录系统
原因: 用户名密码错误或系统未启动
解决:
1. 确认系统服务正常运行
2. 检查用户名密码是否正确
3. 确认用户账号是否激活
```
### 问题 2: 页面元素定位失败
```bash
症状: 无法找到指定的UI元素
原因: 页面结构变化或加载未完成
解决:
1. 增加等待时间
2. 更新元素选择器
3. 检查页面是否正确加载
```
### 问题 3: 测试数据冲突
```bash
症状: 创建数据时提示重复或冲突
原因: 之前的测试数据未清理
解决:
1. 手动清理测试数据
2. 修改测试数据值
3. 执行数据清理脚本
```
### 问题 4: 权限不足
```bash
症状: 某些操作被拒绝或按钮不可见
原因: 当前用户权限不足
解决:
1. 使用管理员账号登录
2. 检查角色权限配置
3. 联系系统管理员
```
## 🎯 测试成功标准
### 功能性验证
- ✅ 所有 CRUD 操作正常执行
- ✅ 数据验证规则正确生效
- ✅ 搜索过滤功能准确有效
- ✅ 树形结构正确展示
### 易用性验证
- ✅ 用户界面响应流畅
- ✅ 操作提示清晰准确
- ✅ 错误处理合理有效
- ✅ 交互流程符合预期
### 性能验证
- ✅ 页面加载时间 < 3 秒
- ✅ 操作响应时间 < 2 秒
- ✅ 搜索响应时间 < 1 秒
- ✅ 无明显卡顿现象
## 📝 测试记录模板
### 执行记录
```markdown
**测试执行时间**: 2025-07-01 HH:mm:ss
**执行环境**:
- 操作系统: [Windows/Mac/Linux]
- 浏览器: Chrome/Edge 版本号
- 系统版本: [前端/后端版本]
**测试结果**:
- 总测试用例: 9 个
- 通过用例: \_个
- 失败用例: \_个
- 跳过用例: \_个
**发现问题**:
1. [问题描述]
2. [问题描述]
**改进建议**:
1. [建议内容]
2. [建议内容]
```
## 🔄 持续集成建议
### 定期执行
- **每日构建**: 自动执行基础功能测试
- **版本发布前**: 执行完整回归测试
- **功能更新后**: 针对性功能测试
### 自动化监控
- **测试结果通知**: 自动发送测试报告
- **性能监控**: 跟踪性能指标变化
- **问题跟踪**: 自动创建 bug 记录
---
**文档维护**: 测试过程中发现的问题请及时更新到此文档
**技术支持**: 如遇到技术问题,请参考项目开发文档或联系开发团队
**文档版本**: v1.0
**最后更新**: 2025-07-01