144 lines
4.4 KiB
Markdown
144 lines
4.4 KiB
Markdown
|
|
# E2E 全流程模拟测试指南
|
||
|
|
|
||
|
|
## 测试文件说明
|
||
|
|
|
||
|
|
### 1. full-workflow-simulation.spec.ts
|
||
|
|
完整的全流程模拟测试,覆盖以下场景:
|
||
|
|
- **阶段一**:采购商创建计划(登录、产品信息、新建计划)
|
||
|
|
- **阶段二**:分享链接与首次合作(计划总览、导入计划)
|
||
|
|
- **阶段三**:纺织厂生产流程(登录、查看计划、确认流程节点)
|
||
|
|
- **阶段四**:分批次入库(坯布仓库、入库操作)
|
||
|
|
- **阶段五**:数据验证(计划完成状态、成品仓库、待结款)
|
||
|
|
- **多角色协作**:双窗口实时同步测试
|
||
|
|
- **边界情况**:未登录访问、无效 token、离线提示
|
||
|
|
- **性能测试**:页面加载时间、资源加载错误检测
|
||
|
|
|
||
|
|
### 2. database-validation.sql
|
||
|
|
数据库层面的 SQL 验证脚本,包含:
|
||
|
|
- 环境准备(清理旧数据)
|
||
|
|
- 完整业务流程 SQL 序列
|
||
|
|
- 数据完整性验证查询
|
||
|
|
- 综合验证报告
|
||
|
|
|
||
|
|
### 3. core-workflow.spec.ts
|
||
|
|
核心业务流程测试(登录、注册、路由、响应式布局)
|
||
|
|
|
||
|
|
### 4. collaboration-workflow.spec.ts
|
||
|
|
协作流程测试(采购商视角、纺织厂视角、数据同步)
|
||
|
|
|
||
|
|
## 运行测试
|
||
|
|
|
||
|
|
### 前置条件
|
||
|
|
1. 安装依赖:`pnpm install`
|
||
|
|
2. 安装浏览器:`npx playwright install chromium`
|
||
|
|
3. 启动开发服务器:`pnpm run dev`
|
||
|
|
|
||
|
|
### 运行命令
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# 运行所有测试
|
||
|
|
npx playwright test
|
||
|
|
|
||
|
|
# 运行特定测试文件
|
||
|
|
npx playwright test e2e/full-workflow-simulation.spec.ts
|
||
|
|
|
||
|
|
# 运行特定项目(浏览器)
|
||
|
|
npx playwright test --project=chromium
|
||
|
|
npx playwright test --project=firefox
|
||
|
|
npx playwright test --project=webkit
|
||
|
|
|
||
|
|
# 运行特定测试(按名称匹配)
|
||
|
|
npx playwright test -g "采购商登录"
|
||
|
|
|
||
|
|
# 调试模式
|
||
|
|
npx playwright test --debug
|
||
|
|
|
||
|
|
# 生成 HTML 报告
|
||
|
|
npx playwright show-report
|
||
|
|
```
|
||
|
|
|
||
|
|
### 数据库验证
|
||
|
|
|
||
|
|
使用 meoo-cli 执行 SQL 验证:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# 验证计划基本信息
|
||
|
|
meoo-cli cloud query --sql "SELECT plan_code, status, target_quantity, completed_quantity FROM production_plans WHERE plan_code = 'TEST-2026-001';"
|
||
|
|
|
||
|
|
# 验证流程节点完成情况
|
||
|
|
meoo-cli cloud query --sql "SELECT COUNT(*) as total_steps, SUM(CASE WHEN status = 'completed' THEN 1 ELSE 0 END) as completed_steps FROM plan_process_steps WHERE plan_id IN (SELECT id FROM production_plans WHERE plan_code = 'TEST-2026-001');"
|
||
|
|
|
||
|
|
# 验证入库记录汇总
|
||
|
|
meoo-cli cloud query --sql "SELECT COUNT(*) as batches, SUM(quantity) as total_meters FROM inventory_records WHERE plan_id IN (SELECT id FROM production_plans WHERE plan_code = 'TEST-2026-001');"
|
||
|
|
|
||
|
|
# 验证数据一致性
|
||
|
|
meoo-cli cloud query --sql "SELECT p.completed_quantity, COALESCE(SUM(ir.quantity), 0) as inventory_total, CASE WHEN p.completed_quantity = COALESCE(SUM(ir.quantity), 0) THEN '✓ 一致' ELSE '✗ 不一致' END as check_result FROM production_plans p LEFT JOIN inventory_records ir ON ir.plan_id = p.id WHERE p.plan_code = 'TEST-2026-001' GROUP BY p.completed_quantity;"
|
||
|
|
```
|
||
|
|
|
||
|
|
## 测试数据结构
|
||
|
|
|
||
|
|
### 测试用固定 ID
|
||
|
|
- 采购商公司:`11111111-1111-1111-1111-111111111101`
|
||
|
|
- 纺织厂公司:`11111111-1111-1111-1111-111111111102`
|
||
|
|
- 采购商用户:`a0000001-0000-0000-0000-000000000001`
|
||
|
|
- 纺织厂用户:`a0000002-0000-0000-0000-000000000002`
|
||
|
|
- 坯布仓库:`22222222-2222-2222-2222-222222222202`
|
||
|
|
|
||
|
|
### 预期测试结果
|
||
|
|
- 计划编号:`TEST-2026-001`
|
||
|
|
- 计划状态:`completed`
|
||
|
|
- 目标产量:`10000` 米
|
||
|
|
- 完成产量:`10000` 米
|
||
|
|
- 流程节点:`5/5` 已完成
|
||
|
|
- 入库批次:`3` 批
|
||
|
|
- 总入库量:`10000` 米
|
||
|
|
|
||
|
|
## 常见问题
|
||
|
|
|
||
|
|
### Q: 浏览器未安装
|
||
|
|
```bash
|
||
|
|
npx playwright install chromium
|
||
|
|
```
|
||
|
|
|
||
|
|
### Q: 开发服务器未启动
|
||
|
|
```bash
|
||
|
|
pnpm run dev
|
||
|
|
```
|
||
|
|
|
||
|
|
### Q: 测试超时
|
||
|
|
检查网络连接和数据库服务状态:
|
||
|
|
```bash
|
||
|
|
meoo-cli cloud status
|
||
|
|
```
|
||
|
|
|
||
|
|
### Q: 如何查看测试报告
|
||
|
|
```bash
|
||
|
|
npx playwright show-report
|
||
|
|
```
|
||
|
|
|
||
|
|
## 测试覆盖率
|
||
|
|
|
||
|
|
| 测试类别 | 测试数量 | 覆盖场景 |
|
||
|
|
|---------|---------|---------|
|
||
|
|
| 全流程模拟 | 20 | 完整业务流程 |
|
||
|
|
| 核心业务 | 9 | 登录、注册、路由 |
|
||
|
|
| 协作流程 | 9 | 多角色协作 |
|
||
|
|
| 边界情况 | 3 | 异常处理 |
|
||
|
|
| 性能测试 | 2 | 加载时间、错误检测 |
|
||
|
|
| **总计** | **43** | - |
|
||
|
|
|
||
|
|
## 持续集成
|
||
|
|
|
||
|
|
在 CI/CD 中运行测试:
|
||
|
|
|
||
|
|
```yaml
|
||
|
|
- name: Run E2E Tests
|
||
|
|
run: |
|
||
|
|
npx playwright install --with-deps chromium
|
||
|
|
npx playwright test --project=chromium
|
||
|
|
```
|
||
|
|
|
||
|
|
## 更新日志
|
||
|
|
|
||
|
|
- **2026-06-04**: 创建全流程模拟测试文件和数据库验证脚本
|