tts-voice-creator-clone-and.../playwright.config.js
mARTin-B78 7e29751607
Some checks failed
Test and SonarQube / quality (push) Has been cancelled
Release v1.53.4
2026-09-24 08:25:34 +02:00

36 lines
1.4 KiB
JavaScript

// @ts-check
const { defineConfig, devices } = require('@playwright/test');
const fs = require('fs');
// Point at a running instance. The app's docker container serves on :7890.
const BASE_URL = process.env.BASE_URL || 'http://localhost:7890';
const SYSTEM_CHROMIUM = process.env.CHROMIUM_PATH || '/snap/bin/chromium';
const browserOptions = fs.existsSync(SYSTEM_CHROMIUM) ? { launchOptions: { executablePath: SYSTEM_CHROMIUM } } : {};
module.exports = defineConfig({
testDir: './tests',
timeout: 60_000,
expect: { timeout: 10_000 },
// The app talks to a single uvicorn backend — running tests concurrently overwhelms
// it and makes navigation flaky, so keep it serial.
fullyParallel: false,
workers: 1,
retries: process.env.CI ? 1 : 0,
reporter: process.env.CI ? 'github' : 'list',
use: {
baseURL: BASE_URL,
navigationTimeout: 45_000,
actionTimeout: 15_000,
trace: 'on-first-retry',
screenshot: 'only-on-failure',
},
projects: [
{ name: 'desktop', use: { ...devices['Desktop Chrome'], ...browserOptions } },
// iPhone 13 defaults to WebKit. This suite intentionally runs its mobile
// emulation in Chromium, so declare the engine before applying Chromium's
// executablePath. Otherwise Playwright sends WebKit launch arguments to
// the Chromium executable and the browser exits before connecting.
{ name: 'iphone', use: { ...devices['iPhone 13'], browserName: 'chromium', ...browserOptions } },
],
});