import { defineConfig, devices } from "@playwright/test"; const baseURL = process.env.E2E_BASE_URL || "http://localhost:3000"; const targetHost = process.env.E2E_TARGET_HOST || "192.168.50.61"; const testUser = { email: process.env.E2E_TEST_EMAIL || "admin@admin.com", password: process.env.E2E_TEST_PASSWORD || "adminpass", }; export default defineConfig({ testDir: "./e2e", fullyParallel: false, forbidOnly: !!process.env.CI, retries: process.env.CI ? 2 : 0, workers: 1, reporter: [ ["list"], ["html", { open: "never", outputFolder: "playwright-report" }], ["json", { outputFile: "playwright-results.json" }], ], use: { baseURL, trace: "on-first-retry", screenshot: "only-on-failure", video: "retain-on-failure", }, globalSetup: "./e2e/global-setup.ts", globalTeardown: "./e2e/global-teardown.ts", projects: [ { name: "chromium", use: { ...devices["Desktop Chrome"] }, }, ], timeout: 120_000, expect: { timeout: 10_000, }, }); export { baseURL, targetHost, testUser };