import { defineConfig, devices } from '@playwright/test'; import path from 'path'; const PORT = 3000; const baseURL = `http://localhost:${PORT}`; export default defineConfig({ testDir: './tests', fullyParallel: true, forbidOnly: !!process.env.CI, /* Maximum time one test can run for. */ timeout: 60 * 1000, expect: { timeout: 20000 }, retries: process.env.CI ? 2 : 0, workers: process.env.CI ? 1 : undefined, reporter: 'html', use: { baseURL, trace: 'on-first-retry', }, projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, { name: 'firefox', use: { ...devices['Desktop Firefox'] }, }, { name: 'webkit', use: { ...devices['Desktop Safari'] }, }, ], webServer: { command: 'npm run dev', url: baseURL, reuseExistingServer: !process.env.CI, }, });