feat: configure UAT test automation and reporting

This commit is contained in:
张翔
2026-03-25 09:52:27 +08:00
parent d7ad5776f8
commit f0efbaeabd
6 changed files with 329 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
testDir: './uat-tests/scenarios',
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: process.env.CI ? 4 : 8,
reporter: [
['html', { outputFolder: 'uat-tests/test-results/html-report' }],
['json', { outputFile: 'uat-tests/test-results/results.json' }],
['junit', { outputFile: 'uat-tests/test-results/junit.xml' }],
['list']
],
use: {
baseURL: process.env.TEST_BASE_URL || 'http://localhost:3001',
trace: 'on-first-retry',
screenshot: 'only-on-failure',
video: 'retain-on-failure',
headless: process.env.HEADLESS_BROWSER === 'true',
actionTimeout: parseInt(process.env.TEST_TIMEOUT || '30000'),
navigationTimeout: parseInt(process.env.TEST_TIMEOUT || '30000'),
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
{
name: 'firefox',
use: { ...devices['Desktop Firefox'] },
},
{
name: 'webkit',
use: { ...devices['Desktop Safari'] },
},
],
outputDir: 'uat-tests/test-results/artifacts',
});