Controlar ventanas emergentes en tests de navegador
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.
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.
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
Más enlaces, artículos y documentación útiles: