Après avoir défini un parcours fonctionnel, il est temps de le coder!
Télécharger le modèle dans Greenspector Studio/ Modules / GDSL Templates
Choisir le fichier approprié en fonction du projet : Web, Android
Déplacez-les dans un dossier du projet
Modifier
{{.PackageName}}
par le nom du package de l'application, en suivant l’exemple ci dessous:
applicationKill,com.facebook.katana
applicationStart,com.facebook.katana
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
)
setBrowser,chrome applicationKill,com.android.chrome browserPrepareAndOpenForReference measureStart,PAUSE_referenceBrowser pause,${PAUSEDURATION} measureStop browserGoToUrl,https://metropole.nantes.fr measureStart,CHRGT_accueil pressEnter waitUntilText,Tout accepter pause,${PAUSEAFTERLOAD} measureStop
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é
assertNotExistsText,Profitez de vos vidéos préférées measureStart,CHRGT_ongletBibliotheque clickByTextExact,Bibliothèque waitUntilTextExact,Profitez de vos vidéos préférées pause,${PAUSEAFTERLOAD} measureStop measureStart,PAUSE_ongletBibliotheque pause,${PAUSEDURATION} measureStop
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
etPAUSEAFTERSCROLL
)
Action :
measureStart,ACTION_accueil_saisieRecherche clickByPercent,80,5 pause,${PAUSEAFTERACTION} enterText,greenspector pause,${PAUSEAFTERLOAD} measureStop
Scroll :
measureStart,SCROLL_videos swipeVertical,90,10,50 pause,${PAUSEAFTERSCROLL} swipeVertical,10,90,50 pause,${PAUSEAFTERLOAD} measureStop
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
)
pressHome measureStart,PAUSE_appBackground pause,${PAUSEDURATION} measureStop applicationCloseAll measureStart,PAUSE_afterUserClose pause,${PAUSEDURATION} measureStop applicationKill,com.android.chrome measureStart,PAUSE_afterForcedClose pause,${PAUSEDURATION} measureStop
Pour suivre les bonnes pratiques : Bonnes pratiques et astuces