import { defineConfig, devices } from '@playwright/test'; /** * Playwright 配置 — 三 Agent 集成 * Planner: 测试结构 + 并行执行 + HTML 报告 * Healer: 自动重试 + Trace 快照 * Generator: 通过 codegen 命令配合使用 */ export default defineConfig({ testDir: './tests', fullyParallel: true, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 1, // ← Healer: 失败自动重试 workers: process.env.CI ? 1 : 3, // ← Planner: 并行执行 reporter: [ ['html', { outputFolder: 'playwright-report' }], // ← Planner: HTML 报告 ['list'], // ← Planner: 控制台实时输出 ], // ← Healer: 失败时保存 Trace 和截图 trace: 'on-first-retry', screenshot: 'only-on-failure', video: 'on-first-retry', timeout: 120000, // 单测超时 2 分钟 expect: { timeout: 10000 }, use: { baseURL: 'http://localhost:13001', headless: true, viewport: { width: 1440, height: 900 }, ignoreHTTPSErrors: true, }, projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] } }, ], });