import { defineConfig, devices } from "@playwright/test"; /** * Read environment variables from file. * https://github.com/motdotla/dotenv */ // import dotenv from 'dotenv'; // import path from 'path'; // dotenv.config({ path: path.resolve(__dirname, '.env') }); /** * See https://playwright.dev/docs/test-configuration. */ export default defineConfig({ testDir: "./tests", /* Run tests in files in parallel */ fullyParallel: true, /* Fail the build on CI if you accidentally left test.only in the source code. */ forbidOnly: !!process.env.CI, /* Retry on CI only */ retries: process.env.CI ? 2 : 0, /* Opt out of parallel tests on CI. */ workers: process.env.CI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: "list", /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { /* Base URL to use in actions like `await page.goto('/')`. */ // baseURL: 'http://localhost:3000', /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: "on-first-retry", clientCertificates: [ { origin: "https://haikuatelier.gcch.local", certPath: "../certs/_wildcard.gcch.local.pem", keyPath: "../certs/_wildcard.gcch.local-key.pem", }, ], ignoreHTTPSErrors: true, }, /* Configure projects for major browsers */ projects: [ { name: "desktop-chromium-1920", use: { ...devices["Desktop Chrome"], viewport: { width: 1920, height: 1080 } }, }, { name: "desktop-chromium-1536", use: { ...devices["Desktop Chrome"], viewport: { width: 1536, height: 864 } }, }, { name: "desktop-chromium-1366", use: { ...devices["Desktop Chrome"], viewport: { width: 1366, height: 768 } }, }, { name: "desktop-firefox-1920", use: { ...devices["Desktop Firefox"], viewport: { width: 1920, height: 1080 } }, }, { name: "desktop-firefox-1536", use: { ...devices["Desktop Firefox"], viewport: { width: 1536, height: 864 } }, }, { name: "desktop-firefox-1366", use: { ...devices["Desktop Firefox"], viewport: { width: 1366, height: 768 } }, }, { name: "tablet-chromium-portrait", use: { ...devices["Galaxy Tab S9"] }, }, { name: "tablet-chromium-landscape", use: { ...devices["Galaxy Tab S9 landscape"] }, }, { name: "mobile-chromium-portrait", use: { ...devices["Pixel 7"] }, }, { name: "mobile-chromium-landscape", use: { ...devices["Pixel 7 landscape"] }, }, ], /* Run your local dev server before starting the tests */ // webServer: { // command: 'npm run start', // url: 'http://localhost:3000', // reuseExistingServer: !process.env.CI, // }, });