playwright.config.mjs toma BASE del entorno, y cuando no es local no arranca ningun servidor. Asi la misma suite verifica el portal ya desplegado. La prueba de teclado esperaba que el segundo Tab cayera en una tarjeta de acceso; contra un servidor remoto las tarjetas todavia no estaban pintadas y el foco caia en otra cosa. Ahora espera a que existan, tabula hasta alcanzarlas y comprueba ademas que el foco se vea. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
import { defineConfig, devices } from '@playwright/test';
|
|
|
|
// Por omisión se prueba el portal local. Con BASE apuntando a otra dirección
|
|
// se prueba ese despliegue y no se arranca ningún servidor:
|
|
// $env:BASE="https://instademo.urieljareth.org"; npx playwright test
|
|
const BASE = process.env.BASE ?? 'http://localhost:4180';
|
|
const esLocal = BASE.includes('localhost') || BASE.includes('127.0.0.1');
|
|
|
|
// Un solo worker: las pruebas comparten la base y algunas escriben.
|
|
export default defineConfig({
|
|
testDir: './tests',
|
|
fullyParallel: false,
|
|
workers: 1,
|
|
retries: 0,
|
|
reporter: [['list'], ['html', { open: 'never', outputFolder: 'tests/reporte' }]],
|
|
use: {
|
|
baseURL: BASE,
|
|
locale: 'es-MX',
|
|
timezoneId: 'America/Mexico_City',
|
|
screenshot: 'only-on-failure',
|
|
trace: 'retain-on-failure',
|
|
},
|
|
projects: [
|
|
{ name: 'webkit', use: { ...devices['Desktop Safari'], viewport: { width: 1440, height: 900 } } },
|
|
{ name: 'webkit-movil', use: { ...devices['iPhone 13'] } },
|
|
],
|
|
...(esLocal
|
|
? {
|
|
webServer: {
|
|
command: 'node server/index.mjs',
|
|
url: `${BASE}/salud`,
|
|
reuseExistingServer: true,
|
|
timeout: 30_000,
|
|
},
|
|
}
|
|
: {}),
|
|
});
|