Data Driven Testing : comment appeler un sous-script en itérant sur les lignes d’un fichier CSV
26 janvier 2018AGILITEST 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

- 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.

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

- 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.

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.

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.

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.