Méthodes Si & Tant que
maj 31 oct 2024
1 - Introduction
Le comportement de l'application ou du site web peut parfois être aléatoire. Par exemple, une fenêtre pop up pour activer les notifications ou la fenêtre des préférences en matière de cookies peut apparaître au début du parcours fonctionnel.
Le parcours fonctionnel peut contenir un contenu dynamique ou nécessiter une action répétitive.
Pour cela, on peut utiliser l'instruction if
et la boucle while
.
2 - Focus sur la condition “if”
Lorsque vous souhaitez tester votre application ou votre site web, il arrive parfois que les actions à effectuer ne soient pas exactement les mêmes à chaque itération de mesure. Vous pouvez utiliser la commande "if" pour exécuter des commandes GDSL uniquement si une condition existe ou n'existe pas.
Liste des commandes if
# le texte existe
if,exists,text,Votre vie privée
# le texte n'existe pas
if,notExists,text,Votre vie privée
# l'id existe
if,exists,id,0_183215-toggle-cookie
# l'id n'existe pas
if,notExists,id,0_183215-toggle-cookie
Cas d’usage
Nous voulons configurer les options de cookies "airbnb".
Si la popup "Votre vie privée" s'affiche, nous cliquons sur le bouton "Préférences de cookies"
Puis on fait défiler et on sélectionne le cookie "sécurité" et le cookie "Airbnb".
Puis on clique sur le bouton "Enregistrer"
Exemple :
if,exists,text,Votre vie privée
clickByText,Préférences de cookies
waitUntilText,Votre confidentialité
swipeDownward
clickByText,Sécurité
clickByText,Airbnb
clickByText,Enregistrer
fi
Vous pouvez utiliser measureStart et measureStop à l'intérieur ou à l'extérieur du if/if, mais veillez à arrêter toutes les mesures commencées.
3 - Focus sur la boucle “while”
Vous pouvez utiliser la commande while pour répéter certaines actions
Liste des commandes while
# le texte existe
while,exists,text,Message
# le texte n'existe pas
while,notExists,text,Message
# l'id existe
while,exists,id,com.google.android.apps.messaging:id/message_text_and_info
# l'id n'existe pas
while,notExists,id,com.google.android.apps.messaging:id/message_text_and_info
Cas d’usage
Nous voulons supprimer tous les sms de la conversation. Pour cela, tant qu'il y a un message, nous faisons un clic long dessus et nous cliquons sur supprimer.
Exemple :
La boucle while effectue 20 cycles au maximum. A la fin des 20 cycles, si la condition while n'est pas remplie, une erreur est déclenchée.