42
Passed
4
Failed
2
Flaky
87.5%
Pass Rate
252s
Duración total
Sesiones por navegador
| Navegador | OS | Estado | Tests (P/F/S) | Duración | Sesión |
|---|---|---|---|---|---|
|
Chrome
latest (125.0)
|
🪟 Windows 11 | PASSED |
16 / 0 / 0
|
58.2s | bs_ses_01a2b3 |
|
Firefox
latest (126.0)
|
🪟 Windows 11 | FLAKY |
14 / 0 / 2
|
67.4s | bs_ses_04c5d6 |
|
WebKit
Safari 17.4
|
🍎 macOS Ventura | FAILED |
12 / 4 / 0
|
82.1s | bs_ses_07e8f9 |
|
Chrome
latest (125.0)
|
🍎 macOS Ventura | PASSED |
16 / 0 / 0
|
44.3s | bs_ses_10g1h2 |
Resultados por spec file
auth/login.spec.ts
12 P
0 F
patients/registro.spec.ts
14 P
2 F
dashboard/charts.spec.ts
10 P
2 F
dashboard/export.spec.ts
6 P
0 F
Compatibilidad por navegador
Chrome (Win + Mac)
100%
Firefox (Win)
87.5%
WebKit (macOS)
75%
Issues detectados
CRITICAL
Canvas chart no renderiza en WebKit — dashboard/charts.spec.ts
El gráfico de seguimiento nutricional (Chart.js sobre <canvas>) no renderiza en Safari/WebKit.
El test
expect(chart).toBeVisible() falla con timeout de 10s.
Posible causa: uso de OffscreenCanvas no soportado en Safari 17.4.
CRITICAL
Formulario de registro — datepicker no abre en WebKit
El campo "Fecha de nacimiento" usa un custom datepicker que bloquea el input en Safari.
page.click('#dob-picker') dispara click pero el calendario no aparece.
El componente usa pointer-events: none condicional que difiere en WebKit.
MEDIUM
Race condition en animación de transición — Firefox (flaky)
2 tests de charts.spec.ts fallan intermitentemente en Firefox por una animación CSS (fade-in 300ms)
que causa que el elemento no esté listo cuando Playwright lanza la aserción.
Fix recomendado: añadir
await page.waitForLoadState('networkidle') o deshabilitar animaciones en test.
playwright.config.ts generado
playwright.config.ts
NutriPlan · BrowserStack multi-browser setup
// playwright.config.ts — generado por pruebas-cross-browser-browserstack import { defineConfig } from '@playwright/test'; const isBS = !!process.env.BROWSERSTACK_USERNAME; const bsCaps = (browser: string, os: string, osVersion: string) => ({ wsEndpoint: `wss://cdp.browserstack.com/playwright?caps=${encodeURIComponent(JSON.stringify({ browser, browser_version: 'latest', os, os_version: osVersion, 'browserstack.username': process.env.BROWSERSTACK_USERNAME, 'browserstack.accessKey': process.env.BROWSERSTACK_ACCESS_KEY, 'browserstack.projectName': 'NutriPlan', 'browserstack.buildName': process.env.CI_COMMIT_SHA ?? 'local', 'browserstack.local': 'false', }))}`, }); export default defineConfig({ testDir: './tests', timeout: 60_000, retries: isBS ? 1 : 0, // 1 retry en nube para flakiness reporter: [ ['html', { open: 'never' }], ['list'], ], use: { baseURL: 'https://staging.nutriplan.app', screenshot: 'only-on-failure', video: 'retain-on-failure', trace: 'on-first-retry', }, projects: isBS ? [ // Chrome — Windows 11 { name: 'chrome@win11', use: { connectOptions: bsCaps('chrome', 'Windows', '11') } }, // Firefox — Windows 11 { name: 'firefox@win11', use: { connectOptions: bsCaps('playwright-firefox', 'Windows', '11') } }, // WebKit — macOS Ventura { name: 'webkit@ventura', use: { connectOptions: bsCaps('playwright-webkit', 'OS X', 'Ventura') } }, // Chrome — macOS Ventura (bonus) { name: 'chrome@ventura', use: { connectOptions: bsCaps('chrome', 'OS X', 'Ventura') } }, ] : [ // Fallback local (CI sin credenciales BS) { name: 'chromium', use: { ...devices['Desktop Chrome'] } }, { name: 'firefox', use: { ...devices['Desktop Firefox'] } }, { name: 'webkit', use: { ...devices['Desktop Safari'] } }, ], });