diff --git a/apps/web/e2e/core-generation.spec.ts b/apps/web/e2e/core-generation.spec.ts
index 62a69202e..459c72cc2 100755
--- a/apps/web/e2e/core-generation.spec.ts
+++ b/apps/web/e2e/core-generation.spec.ts
@@ -160,12 +160,14 @@ test.describe("Core Smart-Edit Flow (#1970)", () => {
)
await page.goto("/app/generate")
- await expect(page.getByRole("heading", { name: "智能剪辑" })).toBeVisible({
- timeout: 30000,
- })
+ // ── 页面标题 ─────────────────────────────────────────────────
+ // GenerateHeader:
智能剪辑
+ // SVG icon 可能干扰 role=heading 的 accessible name,用文本包含兜底
+ await expect(page.getByText("智能剪辑").first()).toBeVisible({ timeout: 30000 })
// ── Step 1:默认随机混剪选中,点下一步 ──────────────────────────
- await expect(page.getByText("选择模式", { exact: true })).toBeVisible()
+ // h3 实际文案: "🎬 选择剪辑模式"(非 "选择模式"),用正则包含匹配
+ await expect(page.getByText(/选择剪辑模式/)).toBeVisible()
await expect(page.getByText("随机混剪")).toBeVisible()
await page.getByRole("button", { name: /下一步/ }).click()
@@ -180,11 +182,8 @@ test.describe("Core Smart-Edit Flow (#1970)", () => {
await page.getByTestId("material-card").first().click()
await page.getByRole("button", { name: /下一步/ }).click()
- // ── 数量弹窗:默认 1 个 → 确认 ───────────────────────────────
- await expect(page.getByText("要生成几个视频?")).toBeVisible({ timeout: 5000 })
- await page.getByRole("button", { name: "生成 1 个视频" }).click()
-
// ── Step 3:填写标题 ──────────────────────────────────────────
+ // (#2048: PreviewCountModal 已移除,生成数量在 Step1 内设置)
await expect(page.getByText("选择标题", { exact: true })).toBeVisible({ timeout: 10000 })
const titleInput = page.getByPlaceholder("输入或从标题库选择")
await expect(titleInput).toBeVisible({ timeout: 5000 })
@@ -192,9 +191,10 @@ test.describe("Core Smart-Edit Flow (#1970)", () => {
await page.getByRole("button", { name: /下一步/ }).click()
// ── Step 4:确认生成 ──────────────────────────────────────────
- await expect(page.getByText("📋 生成配置")).toBeVisible({ timeout: 10000 })
- await expect(page.getByText("随机混剪")).toBeVisible()
+ // (#2024: Step4 不再显示"📋 生成配置"卡片,内容区仅显示进度/错误)
+ // 等待底部操作栏的「✨ 确认生成视频」按钮可见即可
const confirmBtn = page.getByRole("button", { name: /确认生成视频/ })
+ await expect(confirmBtn).toBeVisible({ timeout: 10000 })
await expect(confirmBtn).toBeEnabled({ timeout: 5000 })
const createTask = page.waitForResponse(
@@ -324,12 +324,11 @@ test.describe("Core Smart-Edit Flow (#1970)", () => {
)
await page.goto("/app/generate")
- await expect(page.getByRole("heading", { name: "智能剪辑" })).toBeVisible({
- timeout: 30000,
- })
+ // ── 页面标题 ─────────────────────────────────────────────────
+ await expect(page.getByText("智能剪辑").first()).toBeVisible({ timeout: 30000 })
// ── Step 1:切到叙事剪辑 → 下一步 ────────────────────────────
- await expect(page.getByText("选择模式", { exact: true })).toBeVisible()
+ await expect(page.getByText(/选择剪辑模式/)).toBeVisible()
await page.getByText("叙事剪辑").click()
await page.getByRole("button", { name: /下一步/ }).click()
@@ -351,11 +350,8 @@ test.describe("Core Smart-Edit Flow (#1970)", () => {
await page.getByTestId("material-card").first().click()
await page.getByRole("button", { name: /下一步/ }).click()
- // ── 数量弹窗 ─────────────────────────────────────────────────
- await expect(page.getByText("要生成几个视频?")).toBeVisible({ timeout: 5000 })
- await page.getByRole("button", { name: "生成 1 个视频" }).click()
-
// ── Step 3:填写标题(handleScriptModalConfirm 已预填 script.title,但我们再覆盖一次) ─
+ // (#2048: PreviewCountModal 已移除)
await expect(page.getByText("选择标题", { exact: true })).toBeVisible({ timeout: 10000 })
const titleInput2 = page.getByPlaceholder("输入或从标题库选择")
await expect(titleInput2).toBeVisible({ timeout: 5000 })
@@ -363,9 +359,9 @@ test.describe("Core Smart-Edit Flow (#1970)", () => {
await page.getByRole("button", { name: /下一步/ }).click()
// ── Step 4:确认生成 ──────────────────────────────────────────
- await expect(page.getByText("📋 生成配置")).toBeVisible({ timeout: 10000 })
- await expect(page.getByText("叙事剪辑")).toBeVisible()
+ // (#2024: Step4 不再显示"📋 生成配置"卡片)
const confirmBtn2 = page.getByRole("button", { name: /确认生成视频/ })
+ await expect(confirmBtn2).toBeVisible({ timeout: 10000 })
await expect(confirmBtn2).toBeEnabled({ timeout: 5000 })
const createTask2 = page.waitForResponse(