fix(e2e): v3 对齐实际步骤编号(标题页点下一步后才出现确认生成按钮) #1952
@@ -207,7 +207,14 @@ test.describe("Core generation flow", () => {
|
||||
const titleText = `E2E Test ${suffix}`
|
||||
await titleInput.fill(titleText)
|
||||
|
||||
// Step 3(标题+实时预览):确认生成按钮已移到标题页,点击直接创建最终渲染任务
|
||||
// 步骤3(标题页)底部操作栏按钮是「下一步 →」,点击后进入步骤4
|
||||
// 步骤4底部才是「✨ 确认生成视频」按钮
|
||||
const nextBtn = page.locator(".xx-step-actions .xx-btn-primary").filter({ hasText: "下一步" })
|
||||
await expect(nextBtn).toBeVisible({ timeout: 15_000 })
|
||||
await nextBtn.click()
|
||||
|
||||
// Step 4:「确认生成」页面——此处底部是「✨ 确认生成视频」按钮
|
||||
// 注意:Step4 主内容区是实时预览画布,没有 h3 「🎬 确认生成」标题,标题由顶部步骤条展示
|
||||
// 等待前端实时预览就绪:未就绪时右侧 FrontendPreviewPlayer 显示「准备预览素材...」占位,
|
||||
// 就绪(previewReady:素材已解析 + 模板已选中)后占位消失;否则按钮会被校验拦截弹 warning
|
||||
await page
|
||||
@@ -215,8 +222,8 @@ test.describe("Core generation flow", () => {
|
||||
.waitFor({ state: "detached", timeout: 30_000 })
|
||||
.catch(() => {})
|
||||
|
||||
// 定位底部操作栏的「✨ 确认生成视频」按钮(带 emoji 前缀,Playwright hasText 是子串匹配,无需写全)
|
||||
// 使用底部操作栏 xx-step-actions 作用域,避免命中标题页内的"换一个""生成标题"等其他 primary 按钮
|
||||
// 定位底部操作栏的「✨ 确认生成视频」按钮
|
||||
// 使用底部操作栏 xx-step-actions 作用域,避免命中其他 primary 按钮
|
||||
const confirmBtn = page
|
||||
.locator(".xx-step-actions .xx-btn-primary")
|
||||
.filter({ hasText: "确认生成" })
|
||||
@@ -253,14 +260,14 @@ test.describe("Core generation flow", () => {
|
||||
expect(genData.items.length).toBeGreaterThan(0)
|
||||
expect(genData.items[0].id).toBeTruthy()
|
||||
|
||||
// 单视频(N=1):点击「确认生成视频」后跳步骤 4「确认生成」进度页,展示进度卡
|
||||
// 注意:Step4 内容只有进度卡/错误卡,没有 h3「🎬 确认生成」标题;标题由 StepsBar 展示
|
||||
// 单视频(N=1):点击「确认生成视频」后跳步骤 5「确认生成」进度页,展示进度卡
|
||||
// 注意:进度页底部按钮变为 disabled 的「⏳ 视频渲染中…」
|
||||
await expect(page.getByText("视频渲染中")).toBeVisible({ timeout: 30_000 })
|
||||
|
||||
// 等待渲染完成:进度卡变为「视频生成完成」(最长等待 3 分钟)
|
||||
await expect(page.getByText("视频生成完成")).toBeVisible({ timeout: 180_000 })
|
||||
|
||||
// 全部完成后底部按钮变为「下一步:选择封面」,点击进入 Step 5
|
||||
// 全部完成后底部按钮变为「下一步:选择封面」,点击进入 Step 6(封面)
|
||||
const nextCoverBtn = page.getByRole("button", { name: /下一步:选择封面/ })
|
||||
await expect(nextCoverBtn).toBeVisible({ timeout: 30_000 })
|
||||
await nextCoverBtn.click()
|
||||
|
||||
Reference in New Issue
Block a user