eeccc59630
- 安装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)
70 lines
1.6 KiB
TypeScript
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,
|
|
});
|