ohif-viewer/playwright.config.ts

58 lines
1.9 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 ? 6 : 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'],
// Use the runner's EGL GPU stack for WebGL. Without this, Chromium falls
// back to software GL on the self-hosted (nashua) runner and cornerstone
// rendering produces wrong/blank frames, failing every screenshot test.
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 yarn start',
url: 'http://localhost:3335',
reuseExistingServer: !process.env.CI,
timeout: 360_000,
},
});