ohif-viewer/playwright.config.ts
Joe Boccanfuso c205965f87
chore(testing): Flock lock for playwright tests; Pin node version for OHIF; add more workers (#6099)
* update Cypress apt deps for Ubuntu Noble (drop libgconf-2-4, libasound2→libasound2t64)
2026-06-23 02:21:18 -04:00

55 lines
1.7 KiB
TypeScript

import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
testDir: './tests',
globalSetup: './tests/globalSetup.ts',
fullyParallel: !!process.env.CI,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 1 : 0,
maxFailures: process.env.CI ? 10 : undefined,
workers: process.env.CI ? 18 : undefined,
snapshotPathTemplate: './tests/screenshots{/projectName}/{testFilePath}/{arg}{ext}',
outputDir: './tests/test-results',
reporter: [['html', { outputFolder: './tests/playwright-report' }]],
globalTimeout: 800_000,
timeout: 800_000,
use: {
baseURL: 'http://localhost:3335',
trace: 'on-first-retry',
video: 'retain-on-failure',
testIdAttribute: 'data-cy',
actionTimeout: 10_000,
launchOptions: {
// do not hide the scrollbars so that we can assert their look-and-feel
ignoreDefaultArgs: ['--hide-scrollbars'],
args: ['--use-gl=egl'],
},
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'], deviceScaleFactor: 1 },
},
// TODO: Fix firefox tests
// {
// name: 'firefox',
// use: { ...devices['Desktop Firefox'], deviceScaleFactor: 1 },
// },
// This is commented out until SharedArrayBuffer is enabled in WebKit
// See: https://github.com/microsoft/playwright/issues/14043
//{
// name: 'webkit',
// use: { ...devices['Desktop Safari'], deviceScaleFactor: 1 },
//},
],
webServer: {
command:
'cross-env APP_CONFIG=config/e2e.js COVERAGE=true OHIF_PORT=3335 OHIF_OPEN=false nyc pnpm --filter @ohif/app exec rspack serve --config .webpack/webpack.pwa.js',
url: 'http://localhost:3335',
reuseExistingServer: !process.env.CI,
timeout: 360_000,
},
});