Data Driven Testing : comment appeler un sous-script en itérant sur les lignes d’un fichier CSV

26 janvier 2018

AGILITEST propose à ses utilisateurs de pratiquer le Data-Driven Testing autant pour paramétrer des campagnes de tests que pour adapter un script à son contexte et en optimiser la couverture de test via son jeu de données.

Cela passe par une fonction spécifique : L’éditeur Agilitest vous permet de passer un fichier CSV en paramètre d’un appel de sous-script. Par la suite, lors du replay du test, le sous-script sera appelé autant de fois qu’il y a de lignes dans le fichier CSV, en passant comme variables d’entrées du sous-script les valeurs des colonnes de chaque ligne.

Voici comment le réaliser :

  • Sélectionnez le répertoire src/assets/data dans l’explorateur de projets
Sélection du répertoire src/assets/data
  • Cliquez sur le bouton droit de votre souris et sélectionnez « Créer un fichier CSV »
  • Entrez le nom du fichier CSV : le fichier est créé vide dans l’arborescence src/assets/data
  • Double cliquez sur le fichier pour l’éditer : Agilitest édite votre fichier vide
  • Vous pouvez cliquer sur « Ajouter un paramètre » pour ajouter une colonne à votre fichier, et sur « Ajouter une itération » pour ajouter une ligne.
Ajouter des lignes et des colonnes

Par la suite, vous pouvez renseigner des valeurs directement dans les cellules qui ont été créées.

Edition directe du fichier csv
  • Créez une action de type « Appel de sous-script »
  • Drag droppez le fichier CSV directement depuis la zone « Explorateur de projets » vers votre nouvelle action « Appeller le script » : Agilitest prend en compte ce nouveau fichier CSV pour l’appel du sous-script.
Edition d’un appel de sous-script avec fichier CSV dans Agilitest

Une fois ce fichier renseigné, vous pouvez récupérer les variables dans votre sous-script en utilisant la fonction $param() et en passant l’index de la colonne du paramètre qui vous intéresse.

Par exemple : $param(0) vous renvoie la valeur de la première colonne.

Exemple d’utilisation de la fonction $param()

Astuce 1 : vous pouvez combiner les appels $param avec d’autres zones de texte pour générer des textes plus complèxes. L’exemple ci-dessus va générer un identifiant de bouton « Btn1 » à partir de la valeur « 1 » passée en entrée.

Astuce 2 : vous pouvez donner une valeur par défaut dans la fonction $param comme deuxième variable, cela vous permet d’utiliser le sous-script comme un script directement utilisable. Btn$param(2,1) va retourner Btn1 si le script n’a pas été appelé par un script parent.


Astuce 3 : Pour commencer à tester votre script, vous pouvez commencer par appeler votre sous-script en passant les paramètres en direct.

appel du sous-script avec des paramètres directement renseignés

La vidéo ci-dessous récapitule les étapes permettant de créer un fichier CSV et d’itérer dessus avec un sous-script.

Pour aller plus loin, vous pouvez consulter notre article sur l’intérêt d’exploiter le data-driven testing avec Agilitest et qui propose une vidéo de webinaire sur le sujet.