- Cypress es una herramienta de prueba de front-end basada puramente en JavaScript creada para la web moderna.
- Cuando usa la versión compatible de Chrome, hay menos posibilidades de que suponga un desafío.
- Para garantizar el funcionamiento efectivo de Cypress, es posible que deba volver a examinar manualmente sus comandos en busca de errores.
Ciprés es una herramienta de prueba de front-end basada puramente en JavaScript creada para la web moderna. Su objetivo es abordar los puntos débiles que enfrentan los desarrolladores o los ingenieros de control de calidad al probar una aplicación.
Cypress es una herramienta más amigable para los desarrolladores que utiliza una técnica única de manipulación DOM y opera directamente en el navegador. Cypress también proporciona un corredor de prueba interactivo único que ejecuta todos los comandos.
Independientemente de sus características prometedoras, los usuarios se han quejado de que Cypress no pudo conectarse a Chrome. En otras ocasiones, los usuarios afirman que Cypress Docker no pudo conectarse a Chrome, o que Cypress no pudo verificar que este servidor se está ejecutando, entre otros.
Es por esto que este artículo plantea soluciones a los problemas basados en el navegador que enfrentan los usuarios al intentar ejecutar comandos usando Cypress.
¿Cypress es compatible con todos los navegadores?
Cypress tiene una debilidad crítica: no puede ejecutar pruebas de forma nativa contra todos los tipos de navegador. Al momento de escribir este artículo, Cypress solo admite un conjunto limitado de navegadores: Chrome, Edge, Electron y Firefox.
Eso significa que no hay soporte para Safari e Internet Explorer (IE). Cypress tampoco es compatible con navegadores móviles.
Sin embargo, hay una manera de ejecutar pruebas de Cypress en cualquier tipo de navegador, incluidos Safari, IE y navegadores móviles: usando Aplicación de IA visual con el Nube de prueba ultrarrápida.
¿Cypress usa el protocolo Chrome Devtools?
Cuando Cypress controla un navegador Chromium, tiene una conexión de interfaz remota abierta entre Cypress y el navegador.
DevTools es invaluable para depurar una aplicación o comprender por qué una prueba de extremo a extremo falla. Por lo general, Cypress usa el protocolo Chrome Devtools para visitar el sitio y realizar operaciones especiales como configurar cookies o configurar la carpeta de descarga de archivos.
Durante las pruebas de Cypress, puede hacer clic en cualquier comando para ver información adicional para ese comando, inspeccionar elementos DOM y observar llamadas de red.
¿Cómo puedo hacer que Cypress funcione en Chrome?
1. Actualice el navegador Chrome
- En su computadora e inicie Chrome.
- En la parte superior derecha, haga clic en el Más icono.
- Hacer clic Ayuda y entonces Acerca de Google Chrome.
- Hacer clic Actualizar Google Chrome. (Si no puede encontrar este botón, está en la última versión)
Además, verifique cromo.cypress.io para obtener enlaces para descargar una versión específica de Chrome (dev, Canary y estable) para cada plataforma.
2. Usa navegadores con sabor a Chrome
- Abra Cypress escribiendo este comando en la terminal:
node_modules/.bin/cypress open
- Ejecute el siguiente comando en la terminal:
cypress run -browser chrome
- los Ventana del ejecutor de pruebas se abrirá, que mostrará el caso de prueba ciprésTest1.js.
- Puede seleccionar el navegador para el caso de prueba desde el lado derecho de Test Runner.
Todos los navegadores con sabor a Chrome se detectarán y son compatibles con Chrome 64, como Chromium, Chrome Beta, Chrome Canary y otros.
3. Depurar el navegador Chrome
- Habilite el navegador para depurar registros usando este código:
npm run cypress:run-hang
- Cuando cy.pausa()comienza, entra cromo://accidente en la URL para ver el comportamiento.
Hacer esto ayudará a Cypress a funcionar de manera efectiva en Chrome.
4. Otorgue a Chrome el permiso para ejecutar pruebas
Controlar Navegador.setPermiso comando para establecer el permiso. Al otorgar el permiso al corredor de prueba, el navegador omite mostrar el “¿Este sitio debería tener acceso al portapapeles?” indicación del usuario.
5. Realice una comprobación manual del comando.
Es posible que hayas escrito un bucle sin fin y que debas arreglar tu propio código. También podría ser que esté ejecutando muchas pruebas en una aplicación que requiere mucha memoria.
Esperamos que las correcciones anteriores resuelvan cualquier problema que pueda encontrar. También puede consultar cómo corregir el error de los botones de chromewebdata.