Files
whatsapp-api-mockup/tests/playwright.config.mjs
T

52 lines
1.6 KiB
JavaScript

// Configuración Playwright de la suite e2e del WhatsApp Cloud API Mockup.
import { defineConfig, devices } from "@playwright/test";
const PUERTO = Number(process.env.WAM_PORT || 4173);
const BASE = `http://127.0.0.1:${PUERTO}`;
export default defineConfig({
testDir: "./e2e",
outputDir: "./test-results",
timeout: 45_000,
expect: { timeout: 7_000 },
fullyParallel: true,
forbidOnly: !!process.env.CI,
retries: 1, // tolera algún fallo intermitente por carga con muchos workers
// WebKit en Windows se vuelve inestable con muchos workers en paralelo
workers: process.env.CI ? 2 : Number(process.env.WAM_WORKERS || 6),
reporter: [["list"], ["html", { outputFolder: "playwright-report", open: "never" }]],
use: {
baseURL: BASE,
locale: "es-ES",
timezoneId: "America/Mexico_City",
trace: "retain-on-failure",
screenshot: "only-on-failure",
acceptDownloads: true,
},
projects: [
{
name: "chromium",
use: { ...devices["Desktop Chrome"], viewport: { width: 1440, height: 900 } },
grepInvert: /@movil/,
},
{
name: "webkit",
use: { ...devices["Desktop Safari"], viewport: { width: 1440, height: 900 } },
grepInvert: /@movil/,
},
{
// Proyecto móvil (WebKit, táctil): solo las specs etiquetadas @movil
name: "iphone",
use: { ...devices["iPhone 15"] },
grep: /@movil/,
},
],
webServer: {
command: `node serve.mjs ${PUERTO}`,
url: `${BASE}/index.html`,
reuseExistingServer: !process.env.CI,
timeout: 20_000,
stdout: "ignore",
},
});