Hello from MCP server

List Files | Just Commands | Repo | Logs

← back |
import { defineConfig, devices } from "@playwright/test";

export default defineConfig({
  testDir: "./tests",
  fullyParallel: false, // Disable parallel execution for isolated environment
  forbidOnly: !!process.env.CI,
  retries: process.env.CI ? 2 : 0,
  workers: 1, // Use single worker for isolated environment
  reporter: "list",
  timeout: 30000, // 30 second timeout per test

  // Global setup and teardown for isolated environment
  globalSetup: './globalSetup.js',
  globalTeardown: './globalTeardown.js',

  use: {
    // Use dynamic base URL from environment
    baseURL: process.env.TEST_FRONTEND_URL || 'http://localhost:5173',
    trace: "on-first-retry",
    video: "retain-on-failure",
    screenshot: "only-on-failure",
  },

  projects: [
    {
      name: "chromium",
      use: {
        ...devices["Desktop Chrome"],
        launchOptions: {
          headless: process.env.CI ? true : false,
          slowMo: process.env.CI ? 0 : 300,
        },
      },
    },
  ],

  // Configure web server for development fallback
  webServer: process.env.TEST_FRONTEND_URL ? undefined : {
    command: 'npm run dev',
    port: 5173,
    cwd: '../../frontend',
    reuseExistingServer: !process.env.CI,
  },
});