import { defineConfig, devices } from "@playwright/test"; /** * Teste de fumaça de ponta a ponta (pasta e2e/), rodado contra um servidor que já está no ar: * BASE_URL endereço do site (padrão http://localhost:3001) * PW_CHROMIUM caminho do chrome.exe, para não baixar navegador do Playwright * (ex.: %LOCALAPPDATA%\ms-playwright\chromium-1248\chrome-win64\chrome.exe) * Este arquivo não sobe servidor nenhum: `pnpm build && pnpm start -p 3001` (ou `pnpm dev`) antes de rodar. */ const baseURL = process.env.BASE_URL ?? "http://localhost:3001"; const executablePath = process.env.PW_CHROMIUM || undefined; export default defineConfig({ testDir: "./e2e", // um servidor de desenvolvimento compila cada rota na primeira visita: com folga timeout: 120_000, expect: { timeout: 10_000 }, // um navegador por vez: o servidor local (principalmente o dev) não aguenta várias compilações juntas workers: 1, fullyParallel: false, retries: 0, reporter: [["list"]], use: { baseURL, trace: "retain-on-failure", screenshot: "only-on-failure", launchOptions: { executablePath }, }, projects: [ { name: "chromium", use: { ...devices["Desktop Chrome"], launchOptions: { executablePath }, }, }, ], });