Files
crank/apps/ui/playwright.config.js
T

50 lines
1.2 KiB
JavaScript

const { defineConfig, devices } = require('@playwright/test');
const baseURL = process.env.PLAYWRIGHT_BASE_URL || 'http://127.0.0.1:3300';
const skipWebServer = process.env.PLAYWRIGHT_SKIP_WEB_SERVER === '1';
const jsonOutput = process.env.PLAYWRIGHT_JSON_OUTPUT;
const reporters = process.env.CI
? [['github'], ['html', { open: 'never' }]]
: [['list'], ['html', { open: 'never' }]];
if (jsonOutput) {
reporters.push(['json', { outputFile: jsonOutput }]);
}
module.exports = defineConfig({
testDir: './tests/e2e',
fullyParallel: false,
workers: 1,
timeout: 45_000,
expect: {
timeout: 10_000,
},
retries: process.env.CI ? 1 : 0,
reporter: reporters,
use: {
baseURL,
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'retain-on-failure',
},
webServer: skipWebServer
? undefined
: {
command: 'bash scripts/playwright-stack.sh',
cwd: __dirname,
url: `${baseURL}/login`,
timeout: 600_000,
reuseExistingServer: false,
gracefulShutdown: {
signal: 'SIGTERM',
timeout: 10_000,
},
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
],
});