From befe2e079ba11318363fb9734aa4efd5143084b0 Mon Sep 17 00:00:00 2001 From: frontend-dev Date: Wed, 16 Sep 2026 06:49:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(e2e):=20=E9=80=82=E9=85=8D5=E6=AD=A5?= =?UTF-8?q?=E5=90=91=E5=AF=BC=E6=B5=81=E7=A8=8B=EF=BC=8C=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=B7=B2=E7=A7=BB=E9=99=A4=E7=9A=84=E6=A8=A1=E6=9D=BF=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=92=8C=E6=95=B0=E9=87=8F=E5=BC=B9=E7=AA=97=E6=AD=A5?= =?UTF-8?q?=E9=AA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web/e2e/core-generation.spec.ts | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/apps/web/e2e/core-generation.spec.ts b/apps/web/e2e/core-generation.spec.ts index 57881e185..69f74f284 100755 --- a/apps/web/e2e/core-generation.spec.ts +++ b/apps/web/e2e/core-generation.spec.ts @@ -51,7 +51,7 @@ type AssetListResponse = { test.describe("Core generation flow", () => { test.describe.configure({ timeout: 360_000 }) - test("walks through 6-step wizard and starts generation", async ({ page, request }) => { + test("walks through 5-step wizard and starts generation", async ({ page, request }) => { test.setTimeout(360_000) await routeBrowserApiToTestApi(page) @@ -169,18 +169,8 @@ test.describe("Core generation flow", () => { timeout: 20_000, }) - // Step 1: template - default selected, click next - await expect(page.locator(".xx-choice-item.selected")).toBeVisible() - await page.getByRole("button", { name: "下一步" }).click() - - // Step1 下一步弹出数量选择弹窗(Issue #1677 固定6步:模板→素材→配音→标题→确认生成→封面) - // 单视频流程:默认 1 个,点击「生成 1 个视频」进入步骤2 - await expect(page.getByRole("heading", { name: "要生成几个视频?" })).toBeVisible({ - timeout: 10_000, - }) - await page.getByRole("button", { name: "生成 1 个视频" }).click() - - // Step 2: select material (card grid UI) + // 5步向导:素材→配音→标题→确认生成→封面(#1911 删除选模板步骤,后端自动使用默认模板) + // Step 1: select material (card grid UI) await expect(page.getByRole("heading", { name: /选择素材/ })).toBeVisible() const librarySelect = page.locator("select").first() await librarySelect.selectOption({ label: libraryName }) @@ -193,11 +183,11 @@ test.describe("Core generation flow", () => { await expect(materialCard.getByTestId("material-card-check")).toBeVisible({ timeout: 5_000 }) await page.getByRole("button", { name: "下一步" }).click() - // Step 3: voice (可选步骤,新注册用户无配音素材,直接跳过) + // Step 2: voice (可选步骤,新注册用户无配音素材,直接跳过) await expect(page.getByRole("heading", { name: /选择配音/ })).toBeVisible({ timeout: 15000 }) await page.getByRole("button", { name: "下一步" }).click() - // Step 4: title(新顺序:标题在预览之前) + // Step 3: title(新顺序:标题在预览之前) await expect(page.getByRole("heading", { name: /选择标题/ })).toBeVisible({ timeout: 15000 }) // 等待组件完全渲染 await page.waitForTimeout(2000) @@ -210,7 +200,7 @@ test.describe("Core generation flow", () => { const titleText = `E2E Test ${suffix}` await titleInput.fill(titleText) - // Step 4(标题+实时预览):确认生成按钮已移到标题页,点击直接创建最终渲染任务 + // Step 3(标题+实时预览):确认生成按钮已移到标题页,点击直接创建最终渲染任务 // 等待前端实时预览就绪:未就绪时右侧 FrontendPreviewPlayer 显示「准备预览素材...」占位, // 就绪(previewReady:素材已解析 + 模板已选中)后占位消失;否则按钮会被校验拦截弹 warning await page @@ -250,7 +240,7 @@ test.describe("Core generation flow", () => { expect(genData.items.length).toBeGreaterThan(0) expect(genData.items[0].id).toBeTruthy() - // 单视频(N=1):点击「确认生成视频」后跳 Step 5「确认生成」,展示实时渲染进度 + // 单视频(N=1):点击「确认生成视频」后跳 Step 4「确认生成」,展示实时渲染进度 await expect(page.getByRole("heading", { name: "🎬 确认生成" })).toBeVisible({ timeout: 30_000, }) @@ -258,7 +248,7 @@ test.describe("Core generation flow", () => { // 等待渲染完成:进度卡变为「视频生成完成」(最长等待 3 分钟) await expect(page.getByText("视频生成完成")).toBeVisible({ timeout: 180_000 }) - // 全部完成后「下一步:选择封面」解锁,点击进入 Step 6 + // 全部完成后「下一步:选择封面」解锁,点击进入 Step 5 await page.getByRole("button", { name: /下一步:选择封面/ }).click() await expect(page.getByRole("heading", { name: /选择封面/ })).toBeVisible({ timeout: 30_000, @@ -312,4 +302,4 @@ test.describe("Core generation flow", () => { const tasksData = await tasks.json() expect(Array.isArray(tasksData.items)).toBe(true) }) -}) +}) \ No newline at end of file -- 2.54.0