Ecriture d'un script GDSL

maj 31 oct 2024

Après avoir défini un parcours fonctionnel, il est temps de le coder!

  • Télécharger le modèle disponible sur le Gitlab Greenspector Studio/ Examples

  • Choisir le fichier approprié en fonction du projet : Web, Android, iOS

  • Déplacez-les dans un dossier du projet

 

  • Modifier [PACKAGE] par le nom du package de l'application, en suivant l’exemple ci dessous:

applicationKill,com.facebook.katana
applicationStart,com.facebook.katana

Pour un site web, le package est celui du navigateur: com.android.chrome

Pour les applications, 3 méthodes possibles:

  1. Se connecter par adb à l'appareil

    1. Ouvrez un terminal n'importe où et exécutez la commande suivante: adb shell pm list packages (pour avoir la liste des paquets présents sur l'appareil)

    2. Copiez et collez dans un fichier texte et recherchez par mot-clé apparenté le paquet de l'application.

  2. Aller sur le Playstore

    1. Trouver l'application à mesurer

    2. Le nom du paquet est visible dans l'url, comme dans l'exemple suivant : com.facebook.katana

  3. Avec UIAutomatorviewer

    1. Se connecter par adb

    2. Ouvrir l'application à tester

    3. Effectuez une capture d'écran dans UIAutomatorviewer à l'aide du bouton Device Screenshot

    4. Le nom du paquet est indiqué en bas à droite

Pour en savoir plus sur la structure des scripts GDSL, consultez la page suivante : Introduction au GDSL

Pour lancer l’application

  • Mesure de l'inactivité de référence sur l'écran d'accueil

  • Lancement de l'application

  • Attente de l'affichage du dernier élément (waitUntil)

measureStart,PAUSE_reference pause,${PAUSEDURATION} measureStop measureStart,CHRGT_accueil applicationStart,com.google.android.youtube waitUntilText,Home pause,${PAUSEAFTERLOAD} measureStop

Pour lancer un site web :

  • Lancement du navigateur (setBrowser)

  • Préparation du navigateur en vidant le cache et l'historique (browserPrepareAndOpenForReference)

  • Mesure de l'inactivité de référence d'un onglet vide

  • Ecriture de l'URL (browserGoToUrl)

  • Mesure du chargement du site web en validant l'URL (pressEnter)

  • Attente de l'affichage du dernier élément (waitUntil)

 

Si, lors de l'installation, l'application affiche des fenêtres qui n'apparaissent pas dans la liste suivante

  • Solution 1 : Il est obligatoire d'automatiser ce processus si vous voulez utiliser le testbench.

  • Solution 2 : passer en mode testrunner avec dispositif local pour éviter de réinstaller l'application à chaque itération.

 

Pour chaque nouvelle vue/page :

  • Réalise l'action permettant de changer de vue (clickBy)

  • Attente de l'affichage du dernier élément (waitUntil)

  • Vérifie que l'élément attendu n'existe pas déjà avant de changer de vue (assertNotExists)

  • Mise en place d'une étape de pause pour mesurer l'état d'inactivité

Pour obtenir les caractéristiques d'un élément dans une vue, voir Obtenir les éléments d'une vue (Android)

Pour une action (cliquer, écrire un texte, ...) ou un défilement :

  • Effectue 3 actions au maximum dans une mesure

  • Elles doivent être séparées par une pause appropriée (PAUSEAFTERACTION et PAUSEAFTERSCROLL)

Action :

Scroll :

Pour les étapes techniques finales (pertinent pour les app)

  • Retour sur la page d'accueil de l'appareil pour mesurer l'activité de l'application en arrière-plan lors d'une pause (pressHome)

  • Mesure de l'activité de l'application après la fermeture d'une pause par l'utilisateur (applicationCloseAll)

  • Mesure de l'activité de l'application après une fermeture forcée (fermeture du processus) lors d'une pause (applicationKill)