jcloude/dashboard/playwright.config.ts
2025-12-23 19:17:16 +08:00

40 lines
1015 B
TypeScript

import { defineConfig, devices } from '@playwright/test';
import dotenv from "dotenv";
dotenv.config({ path: "./tests-e2e/.env", quiet: true });
export default defineConfig({
testDir: './tests-e2e',
fullyParallel: true,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 4 : undefined,
use: {
baseURL: process.env.BASE_URL || 'http://localhost:8010',
trace: 'retain-on-failure',
screenshot: 'only-on-failure',
video: 'retain-on-failure'
},
reporter: [['list'], ['html', { open: 'never' }]],
projects: [
{
name: 'cron',
testMatch: /.*\.cron\.spec\.ts/,
dependencies: undefined
},
{
name: 'setup',
testMatch: /.*\.setup\.ts/
},
{
name: 'chromium',
use: {
...devices['Desktop Chrome'],
storageState: 'tests-e2e/.auth/session.json'
},
// must match all *.test.ts files only
testMatch: /^(?!.*(\.cron|\.setup)\.spec\.ts$).*\.test\.ts$/,
dependencies: ['setup']
}
]
});