Gestion des fenêtres contextuelles lors des tests Browser
Ce guide décrit comment gérer les fenêtres contextuelles telles que les fenêtres modales ou d’applications dans un test de navigateur Synthetic.
Les tests Browser Synthetic gèrent automatiquement les fenêtres modales JavaScript :
- Les
alert
modales sont immédiatement ignorées pour OK. - Les
prompt
modales sont remplies par Lorem Ipsum
pour les tests sur Google Chrome ou Microsoft Edge. - Les
confirm
modaux qui demandent une confirmation sont acceptés.
Pour les fenêtres contextuelles d’authentification de base, spécifiez les identifiants requis dans la configuration de votre test Browser, sous Advanced Options :
Si une fenêtre contextuelle apparaît à un moment spécifique de votre parcours, vous pouvez enregistrer une étape pour la fermer et autoriser l’échec de cette étape à l’aide de l’option correspondante. Votre test saura ainsi comment réagir si jamais une telle fenêtre s’affiche. Dans le cas contraire, l’étape échoue sans que cela entraîne l’échec de l’ensemble du test.
S’il n’est pas possible de prédire à quel moment ces fenêtres contextuelles apparaissent, adressez-vous au tiers qui fournit la fenêtre contextuelle afin de vérifier s’il est possible de créer une règle empêchant l’affichage de la fenêtre contextuelle pendant l’exécution du test Browser. Il peut par exemple s’agir d’un cookie à ajouter dans la section Advanced Options de votre test.
Sinon, vous pouvez employer l’une des méthodes suivantes afin de garantir la fermeture de la fenêtre contextuelle et le bon fonctionnement de votre test :
Créez une assertion JavaScript au début de votre test Browser pour essayer régulièrement de fermer la fenêtre :
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);
});
}
Enregistrez les étapes de fermeture de la fenêtre contextuelle, ajoutez-les entre toutes les autres étapes de votre test Browser, puis sélectionnez l’option Allow this step to fail pour chacune d’entre elles.
Documentation, liens et articles supplémentaires utiles: