1
0
forked from baron/baron-sso
Files
baron-sso/userfront-e2e/playwright.config.ts

71 lines
1.7 KiB
TypeScript

import { defineConfig, devices } from "@playwright/test";
const port = Number.parseInt(process.env.PORT ?? "4173", 10);
const defaultBaseUrl = `http://127.0.0.1:${port}`;
const baseURL = process.env.BASE_URL ?? defaultBaseUrl;
const reuseExistingServer = !process.env.CI;
const configuredWorkers = process.env.PLAYWRIGHT_WORKERS
? Number.parseInt(process.env.PLAYWRIGHT_WORKERS, 10)
: undefined;
export default defineConfig({
testDir: "./tests",
fullyParallel: false,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: configuredWorkers ?? 1,
reporter: process.env.CI ? [["html", { open: "never" }], ["list"]] : "html",
use: {
baseURL,
trace: "on-first-retry",
screenshot: "only-on-failure",
video: "retain-on-failure",
locale: process.env.LOCALE ?? "ko-KR",
},
projects: [
{
name: "webkit-desktop",
use: {
...devices["Desktop Safari"],
serviceWorkers: "block",
},
},
{
name: "webkit-mobile-webapp",
use: {
...devices["iPhone 13"],
serviceWorkers: "block",
},
},
{
name: "chromium-desktop",
use: {
...devices["Desktop Chrome"],
serviceWorkers: "block",
},
},
{
name: "firefox-desktop",
use: {
...devices["Desktop Firefox"],
serviceWorkers: "block",
},
},
{
name: "chromium-mobile-webapp",
use: {
...devices["Pixel 7"],
serviceWorkers: "block",
},
},
],
webServer: process.env.BASE_URL
? undefined
: {
command: "node ./scripts/serve-userfront-build.mjs",
url: defaultBaseUrl,
reuseExistingServer,
timeout: 120_000,
},
});