# 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**: 创建全流程模拟测试文件和数据库验证脚本