es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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:

enter image description here

¡Gracias por tu ayuda!

Tags:  , , ,

Answer

  1. Avatar for 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 comando cy.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 archivo cypress.json:

    {
      "chromeWebSecurity": false
    }
    

    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.

Comments are closed.