07 - Personnaliser un test

MAJ 28 aout 2024

Pour commencer l’automatisation, nous allons personnaliser notre modèle de test sample.testgb en ajoutant une nouvelle étape d’action. Observons le fichier original :

############################################################################################ # Débuter avec le GDSL : une première analyse de www.gouvernement.fr # ############################################################################################ # Preparation # applicationKill,com.android.chrome browserPrepareAndOpenForReference pause,${PAUSEAFTERLOAD} # Blank tab reference # measureStart,PAUSE_referenceBrowser pause,${PAUSEDURATION} measureStop browserGoToUrl,https://www.gouvernement.fr/ # Loading step # assertNotExistsText,Tout accepter measureStart,CHRGT_home pressEnter waitUntilText,Tout accepter pause,${PAUSEAFTERLOAD} measureStop # Pause step # measureStart,PAUSE_home pause,${PAUSEDURATION} measureStop

 

Actuellement, notre test se rend sur le site du gouvernement et mesure le chargement et une pause sur la page d’accueil.

Nous allons maintenant ajouter une étape d’action pour accepter la pop-up des cookies.

Générer un dump

Après chaque test, des captures d'écran du début et de fin de chaque étape ainsi qu’un dump du dernier écran sont sauvegardés.

Pour un test sur le testbench :

  • La dernière exécution est automatiquement sélectionnée, changez si besoin

  • Téléchargez les fichiers en dessous de Plus d'informations

  • Les fichiers sont présents dans le fichier téléchargé .zip :

    • tests-results-XXXXXX.zip\tests-results\launch\parcours\iteration 1\dump\dump.uix

    • tests-results-XXXXXX.zip\tests-results\launch\parcours\iteration 1\screenshots\success.png

Pour un test d’un appareil en local :

  • Les fichiers sont présents dans le dossier greenspector où le testrunner a été lancé :

    • greenspector\XX-XX-XXXX XXhXXm\tests-results\MYAPP\parcours\iteration 1\dump\dump.uix

    • greenspector\XX-XX-XXXX XXhXXm\tests-results\MYAPP\parcours\iteration 1\screenshots\success.png

Ouvir le dump

Ces fichiers peuvent être lus par Uiautomatorviewer:

  • Lancer Uiautomatorviewer dans un terminal avec :

uiautomatorviewer

UiAutomatorViewer peut créer un dump avec les boutons 2 et 3. Cependant, il n’utilise pas la même méthode que le testrunner Greenspector. Utilisez cette fonction prudemment et optez plutôt pour la manière suivante.

  • Cliquez sur le bouton 1 et indiquez la localisation précise des fichiers dump.uix et success.png précédemment identifiés

  • Tous les éléments UI détectables sont affichés

Ajouter une nouvelle étape

Pour que le parcours utilisateur et les mesures soient fiables, nous essayons au mieux de vérifier l'état de la vue avant et après une action. Avec UIAutomatorviewer, essayez de trouver les informations suivantes :

  • Obtenir un text dans la pop-up des cookies

  • Obtenir l'id d’un bouton à cliquer

Dans nos nouvelles étapes, les actions suivantes seront réalisées les unes après les autres :

  • Vérifiez la présence de la pop-up des cookies en cherchant un texte spécifique

  • Si oui, cliquer sur le bouton d’acceptation

  • Vérifiez la disparition de la pop-up des cookies

Pour cet exemple :

  • Texte à vérifier : About cookies on government.fr

  • Id du bouton : slideshow-primary-12

Ajouter une nouvelle étape de chargement à la fin du fichier GDSL :

# Action step # # Vérifie l'affichage de la pop-up des cookies waitUntilText,About cookies on government.fr # Start measure measureStart,CHRGT_cookies # Clique sur bouton clickById,slideshow-primary-12 # Vérifie la disparition de la pop-up des cookies waitUntilGoneText,About cookies on government.fr # Attend la consommation résiduelle pause,${PAUSEAFTERACTION} # Stoppe la mesure measureStop

Une vue peut souvent avoir le même texte 2 fois : choisissez un text précis et spécifique avec des instructions texte pour assurer que le bon élément soit ciblé.

Préférez la méthode d'id dans ce cas spécial.

Essayez de relancer le test avec la méthode adaptée.

Dépannage

Si le test a échoué, une explication détaillée peut être trouvée par :

  • Un message d’erreur indique la ligne impliquée

  • failed.png est l'équivalent de success.png en cas d'échec.

  • dump.uix est la dernière hiérarchie UI avant la mise en échec par le testrunner. Pour obtenir un autre dump et un autre screenshot d’une étape intermédiaire, placez l’appareil sur l'étape requise et utilisez la commande suivante :