Quiero saber si Cypress se ejecuta o no en la aplicación NextJS. Mi idea es evitar algunas solicitudes http en la aplicación NextJS si se están ejecutando las pruebas de Cypress.
Puedo detectar si cypress se está ejecutando cuando ejecuto "npx cypress open" para un navegador como este:
if(window.Cypress){ // prevent http request or do something } Pero no puedo verificar si el ciprés se está ejecutando o no en modo sin cabeza con "npx cypress run" .
Intenté agregar una variable env adicional en el archivo package.json como se muestra a continuación:
... "cy:run": "cross-env CY_MODE=true cypress run", ... Pero no establece la variable env CY_MODE cuando intento iniciar sesión en process.env.CY_MODE .
¿Cómo puedo configurar una variable de entorno personalizada antes de que las pruebas de ciprés comiencen con el modo sin cabeza?
Gracias
Puede configurar env.variables dentro de package.json:
'parentCommand': 'cross-env CY_MODE=true npx cypress run'De la exposición de variables de entorno al navegador
De forma predeterminada, las variables de entorno solo están disponibles en el entorno de Node.js, lo que significa que no estarán expuestas al navegador.
Para exponer una variable al navegador, debe prefijar la variable con NEXT_PUBLIC_ .
"cy:run": "cross-env NEXT_PUBLIC_CY_MODE=true cypress run",Alternativamente, puede controlar el servidor NextJs desde los complementos de Cypress; consulte Simulacro de red al usar la llamada getServerSideProps de Next.js