import { defineConfig, devices } from "@playwright/test"; const BASE_URL = process.env.E2E_BASE_URL || "http://localhost:3000"; export default defineConfig({ testDir: "./e2e", outputDir: "./e2e/.artifacts", fullyParallel: false, forbidOnly: !!process.env.CI, retries: 0, workers: 2, reporter: [["list"], ["html", { outputFolder: "./e2e/.report", open: "never" }]], timeout: 120_000, expect: { timeout: 90_000 }, use: { baseURL: BASE_URL, trace: "retain-on-failure", screenshot: "only-on-failure", actionTimeout: 30_000, locale: "zh-CN", }, projects: [ { name: "setup", testMatch: /auth\.setup\.ts/, }, { name: "apps", use: { ...devices["Desktop Chrome"], storageState: "./e2e/.auth/state.json", }, dependencies: ["setup"], }, ], });