Afin de décrire un scénario de navigation utilisateur, un script doit être rédigé en utilisant le langage GDSL. Il permet d'automatiser la navigation dans votre application sur les smartphones du banc de mesure et de prendre les mesures tout au long de cette navigation.

**Attention** : Les smartphones du banc de test sont uniquement configurés en anglais. Il est nécessaire de prendre cela en compte lors de la réalisation du script (textes détectés en anglais, boutons en anglais, etc.).

Dans le fichier de script, chaque étape est construite selon le même modèle de commandes GDSL:

Description des instructions

Mots clés du langage

Le langage GDSL est décrit ici

Vous retrouverez des mots clés débutant par un préfixe qui définit les types d’instructions :

Formatage des instructions

Nommer les étapes

Chargement

Action :

Pause :

Implémentation du script

processus

Nous vous conseillons d’ajouter les étapes à votre fichier de test progressivement :

  1. Je rajoute le mot clé startMeasure,Nom de l’étape dans le fichier de test (voir guide à l’étape 3)

  2. Je rajoute la ou les instructions GDSL pour composer l’étape (de type click par exemple) (voir la documentation GDSL)

  3. J’identifie sur l’application un texte qui doit apparaître à la fin de l’action ou du chargement

  4. Je rajoute le texte attendu avec un mot clé du type 'wait'.

  5. Je rajoute le mot clé stopMeasure pour finir la mesure

  6. Je lance le test

Automatisation d'un chargement

Lorsqu’il est souhaité d’attendre le chargement d'une vue il est important de respecter certaines bonnes pratiques.

Modèle pour une mesure de CHARGEMENT :

Note 1: Il est possible que l'élément attendu dans l'affichage soit aussi présent dans la page avant chargement. Il est possible d’attendre la disparition d'une vue à l'aide de waitUntilGone.

Note 2: L'étape pour mesurer les chargements résiduels est nécessaire car des ressources sont utilisées même si la vue est présente (Fin de chargement de certains éléments de la page, scripts...). Dans ce cas, on utilise la ligne pause,${PAUSEAFTERLOAD}

Si des actions préalables sont nécessaires pour déclencher le chargement alors elles doivent être extraites dans des mesures d'ACTION avant cette mesure de CHARGEMENT. Dans la mesure de CHARGEMENT, seule la dernière action permettant de déclencher le chargement doit être présente.

Astuce GDSL: passer les éléments de premier lancement

Parfois, il existe des éléments présents seulement au premier affichage d’un écran. Cela peut poser problème dans le cas où plusieurs tests sont effectués sur la même application.

Ainsi, nous vous conseillons d’utiliser les commandes suivantes : Les "waitUntilBeforeClick"

Le second paramètre de ces méthodes est un booléen optionnel qui permet s’il est à true de ne pas faire échouer le test sur cette instruction même si elle est fausse. La valeur par défaut de ce paramètre est false.

Ce test échouera si "OK" n'est pas trouvé : waitUntilByTextBeforeClick,OK

Ce test continue à la prochaine instruction si "OK" n'est pas trouvé : waitUntilByTextBeforeClick,OK,true

Quelques pistes si le test ne fonctionne pas

Si le test de fonctionne pas, vous pouvez consulter les fichiers du rapport d'erreur téléchargeable :

Si le texte est présent dans l’écran failed et le dump.uix mais que vous avez une erreur, il est possible que l’élément ne soit pas accessible techniquement. Vous pouvez rechercher l’id de l’élément dans dump.uix et utiliser un mot clé d’automatisation de type clickById ou waitById.

Rechercher des élements

TODO intégrer http://wiki.kali/pages/viewpage.action?pageId=19661536

Etapes techniques standard

Des étapes techniques standard sont obligatoires et garantissent le calibrage de l’écoscore, elles sont déjà intégrées dans le fichier de test script GDSL que vous avez téléchargé sur le portail en Etape 2 :

Selon le contexte, il est également nécessaire d’ajouter certaines étapes :

NB : Si ces étapes ne sont pas significatives en termes de fréquence d'usage et donc d'impact environnemental, elles peuvent être automatisées mais pas prises en compte dans la mesure. Par exemple pour le passage d’une fenêtre d’alerte. Le clic sur le bouton de fermeture de cette fenêtre doit être automatisé, par contre, les actions pour passer cette fenêtre, n’auront pas besoin d’être encadrées par un start et un stop.

Visuel récapitulant les bonnes pratiques GDSL

Voici un document montrant les bonnes pratiques GDSL, avec comme exemple l’application YouTube.