iloom-flatten/e2e/README.md

4.4 KiB

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

运行命令

# 运行所有测试
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 验证:

# 验证计划基本信息
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: 浏览器未安装

npx playwright install chromium

Q: 开发服务器未启动

pnpm run dev

Q: 测试超时

检查网络连接和数据库服务状态:

meoo-cli cloud status

Q: 如何查看测试报告

npx playwright show-report

测试覆盖率

测试类别 测试数量 覆盖场景
全流程模拟 20 完整业务流程
核心业务 9 登录、注册、路由
协作流程 9 多角色协作
边界情况 3 异常处理
性能测试 2 加载时间、错误检测
总计 43 -

持续集成

在 CI/CD 中运行测试:

- name: Run E2E Tests
  run: |
    npx playwright install --with-deps chromium
    npx playwright test --project=chromium

更新日志

  • 2026-06-04: 创建全流程模拟测试文件和数据库验证脚本