28 lines
1.1 KiB
JavaScript
28 lines
1.1 KiB
JavaScript
import { defineConfig, devices } from '@playwright/test';
|
|
import { fileURLToPath } from 'node:url';
|
|
const repositoryRoot = fileURLToPath(new URL('../../', import.meta.url));
|
|
const port = Number(process.env.KIKO_TEST_PORT || 8766);
|
|
export default defineConfig({
|
|
testDir: '../../tests/browser',
|
|
outputDir: './test-results',
|
|
workers: 1,
|
|
fullyParallel: false,
|
|
forbidOnly: Boolean(process.env.CI),
|
|
retries: 0,
|
|
reporter: 'list',
|
|
use: { baseURL: `http://127.0.0.1:${port}`, trace: 'retain-on-failure', screenshot: 'only-on-failure' },
|
|
webServer: {
|
|
command: `node tools/testing/start-browser-server.mjs --port ${port}`,
|
|
cwd: repositoryRoot,
|
|
url: `http://127.0.0.1:${port}/__test__/`,
|
|
reuseExistingServer: false,
|
|
gracefulShutdown: { signal: 'SIGTERM', timeout: 5000 },
|
|
},
|
|
projects: [
|
|
{ name: 'chromium', use: { browserName: 'chromium' } },
|
|
{ name: 'firefox', use: { browserName: 'firefox' } },
|
|
{ name: 'webkit', use: { browserName: 'webkit' } },
|
|
{ name: 'touch', use: { ...devices['Pixel 7'], browserName: 'chromium' } },
|
|
],
|
|
});
|