fix(e2e): 适配5步向导流程,删除已移除的模板选择和数量弹窗步骤
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m22s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m55s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 2m6s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m43s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Successful in 3m17s
CI/CD Pipeline / Validate - Style (pull_request) Successful in 4m30s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 4m43s
AI Code Review / AI Code Review (pull_request) Successful in 6m45s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 10m24s
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 4s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 8m54s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 35s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 53s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 8h23m54s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 8h32m9s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 8h32m16s
CI/CD Pipeline / PR Build API Image (pull_request) Failing after 8h32m58s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 8h33m31s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 8h31m26s
CI/CD Pipeline / Unit Tests (pull_request) Failing after 8h33m27s
CI/CD Pipeline / PR Build Worker Image (pull_request) Failing after 8h31m36s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 8h33m27s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 8h33m27s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 8h33m28s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 8h23m1s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 8h23m4s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 8h23m4s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 8h31m26s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 8h33m27s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 8h31m19s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 8h31m19s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 8h23m1s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 8h31m24s

This commit is contained in:
2026-09-16 06:49:03 +08:00
parent 7d2fbfa49f
commit befe2e079b
+9 -19
View File
@@ -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)
})
})
})