# Playwright E2E 门禁 ## 目标 用真实浏览器替代人工反复点击,优先覆盖老大最常遇到问题的核心流程。 ## 当前已覆盖 - 匿名访问工作空间/订阅页面会跳转登录。 - 登录页可渲染。 - 生产真实浏览器流程:注册测试用户 → 创建工作空间 → 创建项目 → 创建视频素材库 → UI 登录 → 打开项目素材页 → 通过上传控件上传 `.MOV` → 等待素材 `ready` → 页面显示素材且无“素材列表加载失败/上传失败”。 ## 运行命令 ### 生产公网 E2E ```powershell $env:E2E_BASE_URL='https://saas.xiaoxiajianji.com' npm --prefix apps/web run test:e2e -- --project=chromium ``` ### 只跑核心上传 E2E ```powershell $env:E2E_BASE_URL='https://saas.xiaoxiajianji.com' npm --prefix apps/web run test:e2e -- --project=chromium e2e/core-upload.spec.ts ``` ### 本地 E2E 不设置 `E2E_BASE_URL` 时,Playwright 会自动启动本地 Vite: ```powershell npm --prefix apps/web run test:e2e -- --project=chromium ``` ## 浏览器策略 - 默认使用系统 Microsoft Edge:`channel=msedge`,避免每台机器都必须下载 Playwright Chromium。 - 如需使用 Playwright Chromium,可设置:`E2E_BROWSER_CHANNEL=chrome` 或安装 Playwright 浏览器。 - 默认关闭 video,避免缺少 ffmpeg 时阻塞;需要失败录像时设置 `E2E_VIDEO=1`。 - 失败时保留 screenshot 和 trace。 ## 进入发布门禁的要求 - UI 相关改动必须跑核心 E2E。 - 上传、素材、生成、下载相关改动必须跑生产公网 E2E。 - E2E 失败时不能发版,必须先修复或明确记录阻塞原因。