import { defineConfig, devices } from "@playwright/test"; export default defineConfig({ // Look for test files in the "tests" directory, relative to this configuration file. testDir: "e2e-tests", // Run all tests in parallel. fullyParallel: true, // Fail the build on CI if you accidentally left test.only in the source code. forbidOnly: !!import.meta.env.process.env.CI, // Retry on CI only. retries: import.meta.env.process.env.CI ? 2 : 0, // Opt out of parallel tests on CI. workers: import.meta.env.process.env.CI ? 1 : undefined, // Reporter to use reporter: "html", use: { // Base URL to use in actions like `await page.goto('/')`. baseURL: "http://localhost:5173/", // Collect trace when retrying the failed test. trace: "on-first-retry", }, // Configure projects for major browsers. projects: [ { name: "chromium", use: { ...devices["Desktop Chrome"] }, }, ], // Run your local dev server before starting the tests. webServer: { command: "npm run dev", url: "http://localhost:5173/", reuseExistingServer: !import.meta.env.process.env.CI, }, });