04 - Découvrir le langage de test GDSL

04 - Découvrir le langage de test GDSL

MAJ 15 OCT 2025

Le GDSL (Greenspector Domain-Specific Language) est le langage utilisé par Greenspector Studio pour décrire un parcours utilisateur automatisé.
Chaque fichier GDSL porte l’extension .testgb.

Structure de base

Chaque étape mesurée suit la même structure :

measureStart,NOMETAPE instructions measureStop

Tout ce qui se trouve entre measureStart et measureStop sera mesuré.
Les instructions en dehors de ces balises ne le seront pas.

measureStart,NOMETAPE1 # Mesuré dans NOMETAPE1 instructions measureStop # Non mesuré instructions measureStart,NOMETAPE2 # Mesuré dans NOMETAPE2 instructions measureStop

Format et règles de syntaxe

Pour assurer une automatisation fiable, respectez les conventions suivantes :

Règle

Description

Règle

Description

1️⃣ Une instruction par ligne

Chaque ligne exécute une action unique

💬 Commentaires avec #

Sur une ligne séparée, pour ne pas perturber l’exécution

🔣 Paramètres séparés par ,

Exemple : enterText,mon texte

🚫 Pas de virgule dans les paramètres

Un paramètre contenant , n’est pas autorisé

Exemple de GDSL:

# commentaire measureStart,NOMETAPE enterText,mon premier texte measureStop

Les instructions principales

Les instructions permettent d’automatiser les interactions de l’utilisateur.
Elles sont regroupées par familles :

Préfixe

Rôle principal

Préfixe

Rôle principal

application

Gérer le lancement, l’arrêt ou la réinitialisation d’une application

assert

Vérifier la présence ou l’absence d’un élément

browser

Piloter un navigateur pour les tests web

click

Cliquer sur un élément (par texte, ID, position, etc.)

find

Rechercher un élément spécifique dans la hiérarchie UI

pause

Marquer une attente explicite (en millisecondes)

press

Simuler des touches clavier ou boutons physiques

scroll / swipe

Faire défiler l’écran (verticalement ou horizontalement)

wait

Attendre qu’une page ou un élément soit complètement chargé

🧩 D’autres commandes existent pour manipuler :

  • des textes,

  • des formulaires,

  • des écrans,

  • des paramètres,

  • ou encore des authentifications OTP.

Type de mesure

Le GDSL distingue 4 types d’étapes, identifiables par le préfixe du nom de l’étape.

LOAD_ - Etape de chargement

  • Utilisée lorsqu’une action entraîne l’affichage d’une nouvelle vue : lancement de l'application, clic d’un bouton menant à un changement de page

  • Toujours terminée par une instruction wait pour attendre la fin du chargement.

assertNotExistsText,Accepter les cookies measureStart,LOAD_exemple pressEnter waitUntilText,Accepter les cookies pause,${PAUSEAFTERLOAD} measureStop

PAUSE_ - Etape de pause

  • Permet d’observer la consommation passive d’une page (énergie ou data) sans aucune action de l’utilisateur.

measureStart,PAUSE_exemple pause,${PAUSEDURATION} measureStop

ACTION_ - Etape d’action

  • Regroupe une ou plusieurs actions ne changeant pas d’écran

measureStart,ACTION_exemple clickByText,Accepter les cookies pause,${PAUSEAFTERACTION} clickById,onetrust-accept-btn-handler pause,${PAUSEAFTERLOAD} measureStop

SCROLL_ - Etape de scroll

  • Permet de simuler un mouvement de défilement vertical ou horizontal.

measureStart,SCROLL_exemple swipeDownward pause,${PAUSEAFTERSCROLL} swipeDownward pause,${PAUSEAFTERLOAD} measureStop

 

Nous remarquons une pause avant la fin de chaque étape pour mesurer les consommations résiduelles et chargements.

Une pratique usuelle est d’utiliser une variable pour définir les instructions de pause à la fin de chaque type d'étape.

Les variables utilisées en GDSL seront expliquées dans une section dédiée.

extras: PAUSEAFTERLOAD: 1000 PAUSEDURATION: 30000 PAUSEAFTERACTION: 500 PAUSEAFTERSCROLL: 500