Files
PlantAI-rag-new/ui/playwright.config.js
T

52 lines
1.9 KiB
JavaScript
Raw Normal View History

// playwright.config.js —— T(测试 agent)归属。
// L5 端到端骨架:三档视口(TEST_PLAN §3),与 vitest(vitest.config.js)完全独立。
// 完整用例(按 docs/TEST_CASES.md 的 TC-E2E-*)在后续轮次以 spec 文件补齐到 ../tests/e2e/。
import { defineConfig } from '@playwright/test';
export default defineConfig({
testDir: '../tests/e2e',
testMatch: '**/*.spec.js',
// 2026-08-25 R2 加固(T 建议采纳):真实 QA 流最长 ~92s 且上游串行排队会放大,
// 全局 timeout 提到 480s;各 spec 内对不含真实流的用例仍可用 test.setTimeout 收紧。
timeout: 480_000,
expect: { timeout: 10_000 },
fullyParallel: false, // 三项目串行,避免 dev server 端口与 mock 场景互相干扰
workers: 1,
retries: 0, // 测试轮次纪律:失败即记录,不自动重试掩盖缺陷
reporter: [['list']],
use: {
baseURL: 'http://127.0.0.1:5180',
browserName: 'chromium',
headless: true, // 远端可改 headed;本地保持无头
trace: 'retain-on-failure',
screenshot: 'only-on-failure',
},
projects: [
{
name: 'mobile',
use: {
viewport: { width: 390, height: 844 }, // iPhone 14
userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1',
isMobile: true,
hasTouch: true,
deviceScaleFactor: 3,
},
},
{
name: 'tablet',
use: { viewport: { width: 768, height: 1024 } }, // iPad
},
{
name: 'desktop',
use: { viewport: { width: 1440, height: 900 } },
},
],
webServer: {
command: 'npm run dev -- --strictPort',
url: 'http://127.0.0.1:5180',
timeout: 60_000,
reuseExistingServer: !process.env.CI,
// 复用已由 deploy/start-dev.sh 或手动拉起的 dev server(集成/远端场景)
},
});