import { defineConfig, devices } from '@playwright/test'; const testTier = process.env.TEST_TIER || 'standard'; const tierConfig = { fast: { timeout: 15000, retries: 0, workers: 2, }, standard: { timeout: 30000, retries: 1, workers: 1, }, deep: { timeout: 60000, retries: 2, workers: 1, }, }; const config = tierConfig[testTier] || tierConfig.standard; export default defineConfig({ testDir: './', fullyParallel: false, forbidOnly: !!process.env.CI, retries: config.retries, workers: config.workers, timeout: config.timeout, reporter: [ ['html', { outputFolder: 'reports/html', open: 'never' }], ['json', { outputFile: 'reports/results.json' }], ['list'] ], use: { baseURL: process.env.BASE_URL || 'https://novalon.cn', trace: 'on-first-retry', screenshot: 'only-on-failure', video: 'retain-on-failure', launchOptions: { args: ['--disable-dev-shm-usage', '--no-sandbox'] } }, projects: [ { name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, ], });