Lumi/playwright.config.js
2026-07-22 10:20:32 +02:00

41 lines
1.5 KiB
JavaScript

const { defineConfig } = require("@playwright/test");
const port = Number(process.env.LUMI_UI_TEST_PORT || 3317);
module.exports = defineConfig({
testDir: "./tests/ui",
outputDir: "./test-results/ui",
timeout: 45_000,
expect: { timeout: 8_000 },
fullyParallel: false,
workers: 1,
retries: process.env.CI ? 1 : 0,
reporter: [["list"], ["html", { outputFolder: "test-results/ui-report", open: "never" }]],
use: {
baseURL: `http://127.0.0.1:${port}`,
trace: "retain-on-failure",
screenshot: "only-on-failure",
video: "retain-on-failure",
reducedMotion: "reduce"
},
webServer: {
command: "node tests/ui/fixture-server.js",
url: `http://127.0.0.1:${port}/health`,
timeout: 60_000,
reuseExistingServer: false,
env: {
...process.env,
PORT: String(port),
LUMI_UI_TEST_PORT: String(port),
NODE_ENV: "test"
}
},
projects: [
{ name: "phone-320", use: { browserName: "chromium", viewport: { width: 320, height: 720 }, isMobile: true, hasTouch: true } },
{ name: "phone-390", use: { browserName: "chromium", viewport: { width: 390, height: 844 }, isMobile: true, hasTouch: true } },
{ name: "tablet-768", use: { browserName: "chromium", viewport: { width: 768, height: 1024 }, hasTouch: true } },
{ name: "desktop-1280", use: { browserName: "chromium", viewport: { width: 1280, height: 900 } } },
{ name: "desktop-1920", use: { browserName: "chromium", viewport: { width: 1920, height: 1080 } } }
]
});