100aaa3880
三Agent流程: 1. Generator: codegen 录制操作生成测试代码草稿 2. Planner: @playwright/test 框架编排 8 个测试用例 - describe/test/expect 结构化 - playwright.config.ts 并行执行 + HTML 报告 3. Healer: trace + retries + screenshot 自动修复 - 失败自动重试 2 次 - 首次重试时保存 trace.zip - 生成 playwright-report/ 可视化报告 测试结果: 8/8 passed (23秒) 产物: test-results/ 含 trace.zip, playwright-report/ HTML报告 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
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'] } },
|
|
],
|
|
});
|