Files
archy/packages/app/playwright.config.ts
T

50 lines
1.3 KiB
TypeScript
Raw Normal View History

import { defineConfig, devices } from '@playwright/test'
export default defineConfig({
testDir: './e2e',
fullyParallel: false,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 2 : 0,
workers: 1,
globalSetup: './e2e/global-setup.ts',
globalTeardown: './e2e/global-teardown.ts',
reporter: 'html',
snapshotPathTemplate: '{testDir}/__screenshots__/{projectName}/{testFilePath}/{arg}{ext}',
expect: {
toHaveScreenshot: { maxDiffPixelRatio: 0.005 },
},
use: {
baseURL: 'http://localhost:5173',
trace: 'on-first-retry',
},
projects: [
// Desktop browsers
{ name: 'chromium', use: { ...devices['Desktop Chrome'] } },
{ name: 'firefox', use: { ...devices['Desktop Firefox'] } },
{ name: 'webkit', use: { ...devices['Desktop Safari'] } },
// Mobile viewports
{
name: 'iphone14',
use: {
...devices['iPhone 14'],
viewport: { width: 390, height: 844 },
},
},
{
name: 'galaxy-s21',
use: {
userAgent: 'Mozilla/5.0 (Linux; Android 12; SM-G991B) AppleWebKit/537.36',
viewport: { width: 360, height: 800 },
deviceScaleFactor: 3,
isMobile: true,
hasTouch: true,
},
},
],
webServer: {
command: 'pnpm run dev:vite',
url: 'http://localhost:5173',
reuseExistingServer: true,
},
})