import { defineConfig, devices } from '@playwright/test'; const externalURL = process.env['PLAYWRIGHT_BASE_URL']; export default defineConfig({ testDir: './e2e', fullyParallel: false, workers: 1, retries: 0, timeout: 60_000, reporter: process.env['CI'] ? [ ['list'], ['junit', { outputFile: 'test-results/playwright.xml' }], ['html', { open: 'never' }], ] : 'list', use: { ...devices['Desktop Chrome'], baseURL: externalURL || 'http://127.0.0.1:4200', trace: 'retain-on-failure', actionTimeout: 15_000, screenshot: 'only-on-failure', launchOptions: process.env['PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH'] ? { executablePath: process.env['PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH'] } : {}, }, webServer: externalURL ? undefined : { command: 'npm start -- --host 127.0.0.1 --port 4200', url: 'http://127.0.0.1:4200', reuseExistingServer: !process.env['CI'], timeout: 60_000, }, });