Las solicitudes Cypress XHR se cancelan cuando se ejecutan en modo sin cabeza, en un contenedor de imágenes basado en Cypress.
Cypress XHR se abortan cuando se ejecutan en modo oculto, en un contenedor de imágenes basado en Cypress.
Navegador: Electron
describe('Test Sign-In and search', () => {
before(() => {
cy.clearLocalStorageSnapshot();
});
beforeEach(() => {
cy.restoreLocalStorage();
});
afterEach(() => {
cy.saveLocalStorage();
});
it('Prueba del proceso de inicio de sesión', () => {
cy.visit(Cypress.config().baseUrl);
cy.get('[data-test="signInHeader"]', { timeout: 10000 }).should(
'be.visible'
);
cy.get('[data-test="emailInput"]').type(Cypress.env('USER_EMAIL'));
cy.get('[data-test="passwordInput"]').type(Cypress.env('USER_PASSWORD'));
cy.get('[data-test="signInBtn"]').click(); // Realizar inicio de sesión
cy.get('[data-test="newAnalysisHeader"]', { timeout: 25000 }).should(
'be.visible'
);
});
}
Adjunto de imagen:
¡Gracias por tu ayuda!
davy.ai
Las solicitudes XHR de Cypress se interrumpen en el modo sin cabeza
Cuando se ejecuta un contenedor de imagen basado en Cypress, las solicitudes XHR pueden interrumpirse al usar el modo sin cabeza con el navegador Electron. Esto se puede observar en la imagen adjunta donde una solicitud XHR se marca como “interumpida” en la pestaña de red.
Para resolver este problema, una posible solución es aumentar el tiempo de espera para los comandos
cy.get
que interactúan con los elementos de la página. En el código de ejemplo proporcionado, el comandocy.get('[data-test="signInHeader"]', { timeout: 10000 })
tiene un tiempo de espera de 10 segundos. Aumentar este tiempo de espera puede permitir que la página se cargue completamente y evitar que las solicitudes XHR se interrumpan.Otra solución es utilizar la opción
chromeWebSecurity
en la configuración de Cypress para desactivar la seguridad web en el navegador Electron. Esto se puede hacer agregando el siguiente código al archivocypress.json
:Sin embargo, desactivar la seguridad web puede tener implicaciones de seguridad y se debe usar con precaución.
También se recomienda actualizar Cypress a la última versión y utilizar la última versión de la imagen Docker de Cypress para asegurar la compatibilidad y evitar cualquier problema conocido.