import { defineConfig, devices } from '@playwright/test'; export default defineConfig({ testDir: './tests/e2e', fullyParallel: true, retries: process.env.CI ? 1 : 0, reporter: [['list']], use: { baseURL: 'http://localhost:5173', trace: 'on-first-retry', // The app turns off antd's transitions under this preference. Animated // popups never settle long enough for Playwright's stability check when // the machine is loaded, which showed up as clicks timing out on a button // that was plainly visible and enabled. reducedMotion: 'reduce' }, webServer: { command: 'npm run dev', url: 'http://localhost:5173', reuseExistingServer: !process.env.CI, timeout: 30000 }, projects: [{ name: 'chromium', use: { ...devices['Desktop Chrome'] } }] });