Files
novalon-website/e2e/playwright.config.ts
T
张翔 eeccc59630 feat: 建立Allure测试报告系统
- 安装allure-playwright和allure-commandline依赖
- 添加Allure相关的npm脚本(test:allure、test:allure:open、test:allure:serve)
- 在playwright.config.ts中集成Allure reporter
- 创建Allure测试报告系统使用指南
- 支持测试描述、步骤、标签、严重级别、套件、链接、附件、参数等功能
- 支持CI/CD集成(Woodpecker、GitHub Actions、GitLab CI)
2026-02-28 16:46:55 +08:00

70 lines
1.6 KiB
TypeScript

import { defineConfig, devices } from '@playwright/test';
import { getEnvironment } from './src/config/environments';
const env = getEnvironment();
export default defineConfig({
testDir: './src/tests',
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: env.retries,
workers: process.env.CI ? 4 : undefined,
reporter: [
['html', { open: 'never' }],
['json', { outputFile: 'test-results/results.json' }],
['junit', { outputFile: 'test-results/junit.xml' }],
['line'],
['list'],
['allure-playwright', {
outputFolder: 'allure-results',
detail: true,
suiteTitle: false,
}],
],
timeout: env.timeout,
expect: {
timeout: 30000
},
use: {
baseURL: env.baseURL,
trace: env.trace,
screenshot: env.screenshot,
video: env.video,
headless: env.headless,
viewport: { width: 1280, height: 720 },
actionTimeout: 30000,
navigationTimeout: 60000,
launchOptions: {
slowMo: env.slowMo,
},
},
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
},
{
name: 'firefox',
use: { ...devices['Desktop Firefox'] },
},
{
name: 'webkit',
use: { ...devices['Desktop Safari'] },
},
{
name: 'Mobile Chrome',
use: { ...devices['Pixel 5'] },
},
{
name: 'Mobile Safari',
use: { ...devices['iPhone 12'] },
},
],
webServer: env.name === 'development' ? {
command: 'npm run dev',
url: 'http://localhost:3001',
timeout: 120000,
reuseExistingServer: !process.env.CI,
} : undefined,
});