Información general

En esta guía se describe cómo administrar ventanas emergentes como modales o ventanas de aplicaciones en un test de navegador de Sintético.

Modales

JavaScript

Los tests de navegador de Synthetics gestionan los modales JavaScript automáticamente:

  • alert los modales se descartan inmediatamente para OK.
  • prompt los modales se llenan con Lorem Ipsum para los tests en Google Chrome o Microsoft Edge.
  • confirm se aceptan los modales que piden confirmación.

Autenticación básica

Para las ventanas emergentes de autenticación básica, especifica las credenciales asociadas en las Opciones avanzadas de tu configuración de test de navegador.

Ventana emergente de autenticación básica

Ventanas emergentes de aplicación

Ventanas emergentes ancladas

Si aparecen ventanas emergentes en algún punto de tu recorrido, puedes grabar un paso para cerrarla y contemplar la posibilidad de que este paso no funcione usando la opción correspondiente. De este modo, el test sabrá cómo comportarse si aparecen ventanas emergentes. Si no aparecen, el paso no funcionará, pero el resto del test se desarrollará correctamente.

Permitir que el paso no controle la ventana emergente

Ventanas emergentes móviles

Si el momento en que aparecen estas ventanas emergentes en una sesión no es predecible, check con el tercero que provee la ventana emergente para ver si puede crear una regla que impida que la ventana emergente aparezca durante la ejecución de tu test de navegador. Puede, por ejemplo, proveerte una cookie que puedes introducir en la sección Opciones avanzadas de tu test.

Otra alternativa es aplicar uno de estos métodos para que la ventana emergente se cierre y el test siga su camino:

  • Crear una aserción JavaScript al principio del test de navegador para tratar de cerrar la ventana emergente con regularidad:

    if (document.querySelector("<ELEMENT>")) {
      return true;
    } else {
      return new Promise((resolve, reject) => {
        const isPopupDisplayed = () => {
          if (document.querySelector("<ELEMENT>")) {
            clearInterval(popup);
            resolve(true);
          }
        };
        let popup = setInterval(isPopupDisplayed, 500);
      });
    }
    
  • Añadir pasos para cerrar la ventana emergente entre todos los demás pasos del test de navegador y seleccionar la opción Allow this step to fail (Este paso puede no funcionar) en cada uno de ellos.

Referencias adicionales