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
measureStopTout 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
measureStopFormat et règles de syntaxe
Pour assurer une automatisation fiable, respectez les conventions suivantes :
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 : |
🚫 Pas de virgule dans les paramètres | Un paramètre contenant |
Exemple de GDSL:
# commentaire
measureStart,NOMETAPE
enterText,mon premier texte
measureStopLes instructions principales
Les instructions permettent d’automatiser les interactions de l’utilisateur.
Elles sont regroupées par familles :
Préfixe | Rôle principal |
|---|---|
| Gérer le lancement, l’arrêt ou la réinitialisation d’une application |
| Vérifier la présence ou l’absence d’un élément |
| Piloter un navigateur pour les tests web |
| Cliquer sur un élément (par texte, ID, position, etc.) |
| Rechercher un élément spécifique dans la hiérarchie UI |
| Marquer une attente explicite (en millisecondes) |
| Simuler des touches clavier ou boutons physiques |
| Faire défiler l’écran (verticalement ou horizontalement) |
| 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.
La documentation globale peut être trouvée ici :
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
waitpour 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