Contexto: estoy ejecutando un montón de pruebas de Playwright e2e para una aplicación web empresarial, que se ejecutan en acciones de Github, como parte del proceso de CI/CD.
Para iniciar Chromium con Playwright, tenemos estas opciones de inicio:
const options = { headless: true, slowMo: 100, .. // all args added to help run Chromium in headless mode args: [ '--start-maximized', '--disable-dev-shm-usage', '--no-sandbox' ], video: "true" }; Cuando se ejecutan las mismas pruebas en el sistema local durante el tiempo que agregamos nuevos casos de prueba, tenemos que cambiar manualmente el headless: true a false para tener una ejecución completa.
Me pregunto si podemos configurar esto para que cambie según la ejecución: cuando la ejecución es local, cambia el modo sin cabeza a falso y verdadero cuando se ejecuta en ci. Digamos que para ejecutar pruebas en local,
npm run test --env=local obtiene el headless como falso, y npm run test --env=ci obtiene headless true en las options .
Revisé la documentación de Playwright pero no pude encontrar nada concreto. La mayoría de las respuestas en Playwright/Puppeteer son sobre cómo cambiar las URL, etc., según el env.
Puedes probar una de las siguientes opciones:
headless: !!process.env.HEADLESS, slowMo: 100, .. // all args added to help run Chromium in headless mode args: [ '--start-maximized', '--disable-dev-shm-usage', '--no-sandbox' ], video: "true" };``` // create two scripts in your package.json: "headless":"HEADLESS=true npm run test" "local":"npm run test"