BrowserStack
NutriPlan — Cross-Browser Test Report
Build #47 · staging.nutriplan.app · 12 Jun 2026 · 14:33 UTC
Team Plan · Automate ⏱ 4m 12s total
Build ID
bs-build-nutriplan-47
Branch
feature/patient-form-refactor
Commit
a4f2c91
Proyectos
3 navegadores × 2 OS
Tests ejecutados
48 tests · 4 specs
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.
WebKit macOS Ventura charts.spec.ts:L42 OffscreenCanvas
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.
WebKit macOS Ventura registro.spec.ts:L88 datepicker
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.
Firefox Windows 11 flaky CSS animation
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'] } },
  ],
});