// playwright.config.js
import { defineConfig } from '@playwright/test';

export default defineConfig({
  // 测试文件位置
  testDir: './tests',
  // 测试文件模式
  testMatch: /.*\.test\.js$/,
  // 超时设置
  timeout: 30000,
  // 失败重试次数
  retries: 1,
  // 并发运行测试的数量
  workers: 1,
  // 全局设置
  use: {
    // 浏览器
    browserName: 'chromium',
    // 视图端口
    viewport: { width: 1280, height: 720 },
    // 忽略HTTPS错误
    ignoreHTTPSErrors: true,
    // 截图设置
    screenshot: 'only-on-failure',
    // 视频设置
    video: 'on-first-retry',
    // 跟踪设置
    trace: 'retain-on-failure',
  },
  // 项目配置（可针对不同浏览器或环境）
  projects: [
    {
      name: 'chromium',
      use: { browserName: 'chromium' },
    },
    {
      name: 'firefox',
      use: { browserName: 'firefox' },
    },
    {
      name: 'webkit',
      use: { browserName: 'webkit' },
    },
  ],
  // 报告配置
  reporter: [
    ['list'],
    ['html', { outputFolder: 'playwright-report' }],
  ],
});