import { expect, gotoWorkbench, saveScreenshot, test } from "../fixtures/test"; import { selectors } from "../fixtures/selectors"; test.use({ scenarioId: "event-replay" }); test("SSE terminal event and REST gap fill replay to the same terminal UI", async ({ page }, testInfo) => { await gotoWorkbench(page); await expect(page.locator(`${selectors.messageCard}[data-role="agent"][data-status="running"]`)).toBeVisible(); await expect(page.locator(`${selectors.traceTimeline}[data-status="running"]`)).toBeVisible(); await expect(page.locator(`${selectors.messageCard}[data-role="agent"][data-status="completed"]`)).toContainText("事件重放后完成"); await expect(page.locator(`${selectors.traceTimeline}[data-status="completed"]`)).toBeVisible(); await expect(page.locator(selectors.commandSend)).toHaveAttribute("data-action", "turn"); await saveScreenshot(page, testInfo, "event-replay-terminal"); await page.reload(); await expect(page.locator(`${selectors.messageCard}[data-role="agent"][data-status="completed"]`)).toContainText("事件重放后完成"); await expect(page.locator(`${selectors.traceTimeline}[data-status="completed"]`)).toBeVisible(); });