52 lines
1.6 KiB
JavaScript
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",
|
|
},
|
|
});
|