Obtenir les éléments d'une vue (Android)

maj 31 oct 2024

Il y a 2 façons d'obtenir les caractéristiques des éléments d'une vue :

  • Dump : fichier de la structure de la vue

  • UIAutomatorViewer : utilise le fichier dump pour afficher la hiérarchie de la vue directement sur une capture d'écran.

Dump

Le fichier dump permet de voir toute la hiérarchie d'une vue.

Il est généré automatiquement à la fin du test dans les résultats de tests :dossier-projet/greenspector/dd-mm-yyyy/tests-results/nom-app/parcours/iteration X/dump/dump.uix

Il est associé à une capture d'écran

dossier-projet/greenspector/dd-mm-yyyy/tests-results/nom-app/parcours/iteration X/screenshots/success.png or dossier-projet/greenspector/dd-mm-yyyy/tests-results/nom-app/parcours/iteration X/screenshots/failed.png

Il correspond au dump du dernier écran. S'il s'agit d'un succès, c'est le dump de la dernière étape du parcours. S'il s'agit d'un test échoué, c'est le dump de l'écran où l'erreur s'est produite.

Il est possible d'obtenir le dump en même temps qu’une capture de l'écran souhaité via la commande suivante dans un terminal :

testrunner testdslcommand -c “dump”

Les fichiers seront stockés au même endroit que les autres résultats.

Le fichier dump peut être ouvert dans VSCode ou un autre éditeur de texte pour rechercher les caractéristiques des éléments souhaités, mais peut aussi être importé avec le screenshot dans UIAutomatorViewer pour avoir une vision graphique.

UIAutomatorViewer

UI Automator Viewer réalise des captures d'écran Android spéciales, qui contiennent non seulement une image de l'écran, mais aussi une hiérarchie de la mise en page.

  • Connecter l’appareil en adb

  • Ouvrir UIAutomatorViewer

  • La 1ère icône permet d’importer une capture d'écran et son dump associé existant sur votre PC. A utiliser en cas d'échec d'une itération, qui sont présentes dans un dossier de la forme greenspector/dd-mm-YYYY HHhMMm/tests-results/suite/scripte/iteration x/.

  • La deuxième icône permet de visualiser les informations sur les éléments et le dump de la vue directement à partir du smartphone connecté à adb.

Une capture d'écran et un dump de la hiérarchie de la mise en page apparaissent à l'écran.

 

  • Sur la capture d'écran (à gauche), sélectionnez l'élément pour lequel vous souhaitez obtenir des informations et trouvez-le sur la droite :

 

  • Dans ce cas, l'onglet "Actu" contient le champ text rempli avec Actu. Ainsi, dans GDSL, nous pouvons rechercher le texte Actu pour trouver cet onglet (s'il n'y a pas d'autre élément avec le même texte dans l'écran).

  • Chaque élément d'une vue peut être récupéré par le champ text, resource-id, class or content-desc. Les commandes GDSL permettent de trouver un élément en cherchant dans ce champ.

    • clickById,exempleid : clique sur un élément qui a exempleid dans son champ resource-id

    • waitUntilText,Actu : Attendre un élément qui a Actu dans son champ text

 

Si l'élément recherché n'a pas d'informations renseignées, veuillez vérifier Méthodes de recherche pour accéder à l'élément recherché par le chemin des éléments dans le dump de la vue.

 

Si les options précédentes (text, id, search methods, etc.) ne fonctionnent pas, les éléments peuvent être cliqués par exemple par leurs coordonnées. Pour connaître la position exacte, placez le curseur sur l'élément et regardez en haut à droite de la fenêtre

N'essayez pas de copier-coller les coordonnées, elles seront également modifiées.