▶️ Vous pouvez retrouver un tutoriel sur comment utiliser les variables sur notre chaîne Youtube.
La variabilisation d'un script permet de faciliter la maintenance, de faciliter l'accès aux données consommées et de rendre le test plus dynamique. Toutes ces opérations de viabilisation sont gérées dans un onglet distinct dédié à la gestion des variables, situé en bas à gauche de l'écran principal et appelé "Variables du script".
Il existe deux types de variables :
- Variables violettes 🟪 : Elles sont déclarées par l'utilisateur et peuvent être modifiées (appelées variable indépendante, variable déclarée, variable d'affectation).
- Variables oranges 🟧 : Elles proviennent de l'interface à tester et des éléments de l'application testée, et ne sont pas modifiables (aussi appelées variable dépendante, variable dynamique, variable de récupération).
L'ensemble des variables d'un test est donc un assemblage d'arbres de dépendance de variables. Agilitest et ATS mettront automatiquement à jour les variables qui dépendent d'autres variables lorsqu'elles sont modifiées.
Ce mécanisme offre une grande flexibilité et une grande facilité de traitement pour les personnes qui ne sont pas habituées au développement informatique.
Comment créer une variable ?
Il y a plusieurs façons de créer des variables dans Agilitest :
Variable de script modifiable (variable violette)
Les variables de script modifiables (violettes) sont également appelées variables indépendantes, variables déclarées et variables d'affectation.
Ces variables sont créées dans l'onglet "Variables du script".
Cliquez sur le menu et sélectionnez "Créer une variable".
Cela créera une variable violette que vous pourrez modifier. Vous pouvez alors lui donner un nom et une valeur.
Une fois la variable créée, il suffit de la valoriser (ajouter une valeur), sans avoir à appuyer sur la touche "Entrée" du clavier ou à effectuer d'autres actions supplémentaires.
Dès que votre variable a une valeur, celle-ci apparaît à droite de son nom. Cela vous permet de vérifier à tout moment la valeur des variables du script en cours.
Si la variable n'est pas déclarée correctement et qu'Agilitest ne peut pas lui attribuer une valeur, il affiche un message d'erreur en plus du nom de la variable.
Pour définir la valeur de la variable, vous pouvez saisir une variable en dur de votre choix.
Vous pouvez également utiliser le menu "Insérer une valeur spéciale" à droite du champ de saisie,
Vous avez ainsi accès à toutes les catégories de variables qui peuvent être utilisées dans Agilitest.
Variable script non modifiable (variable orange)
Les variables de script non modifiables (orange) sont également appelées variables dépendantes, variables dynamiques et variables de récupération.
Il existe deux façons de créer une variable non modifiable :
- Action de propriété
Ces variables sont générées à partir des éléments des applications testées, en utilisant l'action "Propriété" dans le menu d'actions en haut de l'éditeur Agilitest.
Cette action prend en entrée un élément de l'interface utilisateur qui doit être capturé, ainsi que le nom de l'attribut de cet élément qui nous intéresse.
Pour ce faire, cliquez sur "Propriété" dans le menu des actions
L'action sur les propriétés ciblera un élément d'interface
Cliquez sur le bouton "Charger" de l'action Propriété
Il chargera toutes les propriétés associées à cet élément.
Cliquez sur la propriété qui vous intéresse pour la charger pendant l'exécution.
Ces propriétés correspondent aux attributs de l'élément qui se trouvent dans la fenêtre "Parents de l'élément capturé" lorsque l'élément est capturé.
Des propriétés ATS apparaissent également dans la liste des propriétés, de même que les éléments de mise en forme (CSS).
Lorsqu'une propriété est sélectionnée, elle est placée dans une variable qui prend la valeur de la propriété sélectionnée.
Exemple :
Si vous sélectionnez la propriété "text"avec la valeur "Hello world - Wikipedia" dans la liste des propriétés capturées,
Lorsque l'action sur la propriété est exécutée, la valeur de la propriété sélectionnée apparaît dans la variable propriété.
2. Valeur de retour
Les variables non modifiables peuvent également être extraites de la valeur de retour d'un script pour être stockées en tant que variable indépendante.
Variabilisation des valeurs spéciales
Ces fonctions peuvent être utilisées pour définir toutes les variables modifiables dont vous avez besoin, et peuvent être concaténées pour générer une valeur plus complexe.
Voici les principales fonctions pour y accéder :
- Variable d'environnement : Renvoie la valeur d'un paramètre d'exécution défini dans l'exécution en cours. Exemple: $env(parameter)
- Variable de script: Renvoie la valeur d'une variable. Exemple: $var(variable)
- Paramètre de script: Dans un sous-script, renvoie la valeur d'une variable passée en paramètre en indiquant son index. Exemple: $param(index_param)
Vous pouvez dérouler le menu pour accéder aux "valeurs calculées".
- Maintenant : Retourne une chaîne de caractère indiquant l'heure actuelle de l'ordinateur qui rejoue le test (ou du serveur d'intégration continue). Exemple: $now : 17:38:11
- Aujourd'hui : Retourne une chaîne de caractère indiquant le jour actuel de l'ordinateur rejouant le test (ou du serveur d'intégration continue). Exemple: $today : 30/08/2023
- Identifiant unique : Renvoie un identifiant au format Universal Unique Identifier (UUID). Exemple : $uuid : 110e8400-e29b-11d4-a716-446655440000
- Caractères aléatoires : Renvoie une chaîne de caractère aléatoire en indiquant le nombre de caractères souhaité et leur casse. Exemple :
$rndstring(10): Génère une chaîne de caractère de 10 caractères aléatoires
$rndstring(15, low): Génère une chaîne de caractère de 15 caractères minuscules.
$rndstring(8,upp): Génère une chaîne de caractère de 8 caractères majuscules.
Variable d'environnement
Les variables d'environnement sont déclarées dans les paramètres d'exécution de votre projet.
Pour accéder aux paramètres d'exécution, cliquez sur "Gestion des exécutions" dans l'explorateur de projet.
Sur l'écran principal, sélectionnez une exécution, puis ajouter un nouveau paramètre et modifiez sa valeur.
Ces variables doivent être déclarées comme des chaines de caractères et ne peuvent pas utiliser les fonctions de modification disponibles pour les autres variables.
Pour les utiliser dans vos scripts, utilisez la fonction $env(nom_du_paramètre).
Utilisation avancée des variables
Agilitest vous permet de transformer une variable de 5 manières différentes pour faciliter les calculs.
- Chaines de caractères
- Expressions régulières
- Date
- Temps
- Numérique
Chaines de caractères
Par défaut, toutes les variables sont des chaines de caractères.
Une variable peut être transformée lors de sa création en cliquant sur le bouton correspondant.
Lorsqu'une chaîne de caractère est transformée, une page est affichée en fonction du type utilisé pour la gérer.
Exemple:
Si vous cliquez sur le bout "Expr. régulière",
Cela permet d'afficher les entrées correspondante à la chaîne de caractère d'une expression régulière.
Vous pouvez concaténer des variables au format chaîne de caractère entre elles et avec du texte.
Exemple :
Si l'on prend deux variables :
- Date variable : 8/9/2019
- Une variable horaire : 11:34:33
Si vous créez une variable $day et lui donnez la valeur $var(date)_$var (heure)
Sa valeur littérale sera alors 8/9/2019_11:34:33
Transformation en expressions régulières
Les expressions régulières sont utilisées pour diviser les chaines de caractères afin de générer des variables correspondant à des sous-groupes de caractères.
Le menu de gestion des expressions régulières vous demandera un modèle qui doit correspondre à votre valeur d'origine.
Ce modèle comprend des parenthèses qui définissent les sous-groupes et sont utilisées pour déterminer la valeur de la variable.
En sélectionnant le groupe 1, la variable aura la valeur correspondant au modèle défini dans la première parenthèse.
Transformation en date
Il est possible d'effectuer des calculs de date pour obtenir une date plus ou moins éloignée, dans un jour, un mois, etc.
À partir de la valeur saisie, des sélecteurs permettent d'ajouter ou de soustraire des jours, des mois ou des années.
Le format d'origine pris en charge peut être m/d/yy ou yyy-mm-dd, c'est-à-dire un format anglais.
La date obtenue peut ensuite être utilisée dans des variables regex pour récupérer le jour, le mois ou l'année.
Transformation en horaires
Cela fonctionne de la même manière que la transformation d'une variable en date. Dans ce cas, les sélecteurs permettent d'ajouter ou de supprimer des heures, des minutes ou des secondes à un moment donné.
Le format de la variable d'entrée est hh:mm:ss.
Transformation en numérique
Les variables transformées en nombres sont utilisées pour manipuler des entiers ou des décimales au format nn.nnnnnnn.
Le format d'entrée peut être un nombre décimal dans ce format, ou un nombre décimal avec une virgule comme séparateur.
Les opérateurs standard peuvent être utilisés pour effectuer des calculs :
- +: addition
- - : soustraction
- x : multiplication
- /: division
Les fonctions mathématiques les plus courantes sont implémentées : sin, cos, tan, power, ln, etc.
Pour des cas très spécifiques où vous devez effectuer des opérations particulières, vous pouvez appeler du code Java en passant certaines valeurs en tant que paramètres et en récupérant ensuite une variable sur laquelle vous pouvez placer un contrôle.
Utilisation de conditions "si" (if)
Vous pouvez utiliser la condition "if" dans les variables à transformation numérique.
Pour une formule composée de 3 groupes :
if($var(var1) < $var(var2) ; 1 ; 0)
1st Group = $var(var1) < $var(var2)
2ème groupe = 1
3ème groupe = 0
Si la formule est vérifiée, la première valeur après le point-virgule sera affichée : c'est-à-dire le deuxième groupe avec la valeur 1.
Si la formule n'est pas vérifiée, le 3ème groupe sera affiché : c'est-à-dire la valeur 0.
Exemple :
Valeurs gelées
Les valeurs calculées sont des données calculées en temps réel. Elles se trouvent dans l'encart des valeurs spéciales.
Dans votre scénario de test, ces valeurs sont modifiables et recalculées à la demande ou entre chaque exécution d'une action.
Exemple :
La variable $now affichera toujours l'heure à laquelle la dernière action a été exécutée.
Toutefois, si vous souhaitez que certaines valeurs soient verrouillées une fois qu'elles sont calculées, ce qui signifie qu'elles ne changeront pas pendant l'exécution du script, c'est possible.
Pour ce faire, vous devez créer une variable et sélectionner "Valeur figée".
Soit vous décidez d'avoir une variable qui se recalcule elle-même et qui peut être insérée directement dans le script, comme un commentaire par exemple. Soit vous souhaitez conserver la même valeur tout au long du script, auquel cas vous devez créer une variable et la figer.
Exemple :
La variable $now affichera toujours l'heure à laquelle elle a été gelée, tout au long du script.
🔸Warning
Si vous appelez un script qui a une variable gelée vers un autre script, cette variable est réinitialisée au début du script et restera gelée avec les nouvelles données.
Cette fonction s'applique à tous les types de variables, bien qu'elle puisse ne pas être visible en fonction de la variable sélectionnée.
Évaluer : interpréter le code Java et Javascript
Un bouton "évaluer" permet d'interpréter le code Java et Javascript.
Cette fonction peut être utilisée à la fois sur les variables non éditables en récupérant la propriété correcte, et sur les variables éditables.
Lorsque vous choisissez d'évaluer une variable, vous avez le choix entre deux langages : Java et Javascript.
Vous pouvez saisir un code Java ou Javascript comme valeur.
L'interprétation du code Java et Javascript peut se faire avec une simple récupération de code, mais aussi avec des résultats de tests complexes.
Il est possible de définir des conditions en Java et en Javascript. Cela peut être fait avec des tests conditionnels, et les résultats de ces tests conditionnels peuvent être récupérés.
Pour ces évaluations de code, la notation Java ou Javascript doit être utilisée.
Exemples :
Code Java simple :
Code Javascript simple :
Interprétation des conditionnelles Fonctions Javascript :
if($var(var1) > 14){"ok";}else{"ko";}
Avec la variable $var1 qui peut être un texte ou un chiffre.
Si vous n'êtes pas sûr du code à saisir, vous pouvez demander à l'IA intégrée d'Agilitest.
Vous pouvez également exprimer votre demande à l'aide de la saisie vocale.
Pour ce faire, appuyez sur le microphone et maintenez-le enfoncé , puis exprimez vos besoins de manière claire et précise.
Agilitest et l'IA
Pour faciliter la conception et maintenance de vos tests, Agilitest propose l'intégration de l'IA pour améliorer le travail quotidien des concepteurs de tests.
Lors de la première ouverture d'Agilitest, ou à la suite d'une mise à jour, une fenêtre s'ouvrira vous demandant d'accepter ou de refuser l'intégration de l'intelligence artificielle dans Agilitest.
🔸 Attention
Il est important de préciser que l'intégration n'est pas intrusive et n'a pas accès à vos données personnelles ou à celles de votre entreprise.
Vous pouvez modifier le choix de l'utilisation de l'IA dans Agilitest directement à partir des paramètres de l'éditeur, en haut à gauche :
Cochez la case pour activer ou désactiver l'intégration de l'intelligence artificielle.
Pour accéder à cette fonction, il faut se rendre dans le menu des variables et cliquer sur le bouton "AIet cliquez sur le bouton " AI ".
Une fenêtre de dialogue s'ouvre alors avec AI
Cette fenêtre s'adapte selon que vous souhaitez transformer une phrase en expression régulière ou en variable de date
Dans le cas d'une expression régulière :
Une fois que vous avez saisi la valeur de votre variable, cliquez sur le bouton "AIsur le bouton " AI ".
Saisissez les données que vous souhaitez extraire de la phrase saisie comme valeur
L'IA génère l'expression régulière que vous devez entrer dans Agilitest pour extraire les données, ainsi qu'une explication de l'expression.
Cette approche intuitive élimine les obstacles techniques et vous permet de vous concentrer sur votre travail de test, ce qui vous donne un niveau de confort plus élevé. Par exemple, demandez à l'IA d'obtenir :
- Nom de la machine
- La version de construction
- La version Windows
- Le nom de la machine après le deuxième tiret
- Le format de la date
- etc...
Exemple :
Si dans la phrase "Microsoft Windows 11 Professional, Nom de la machine : DT-W-PIERREH, version build : 22621"vous voulez extraire la version de Windows et la version Build, alors écrivez votre requête dans l'IA :
L'expression régulière proposée par l'IA sera automatiquement introduite dans l'entrée du modèle dans Agilitest.
🔸 Attention
Même si l'intégration de l'intelligence artificielle n'est pas intrusive, ne saisissez pas de données personnelles ou d'entreprise dans la barre de recherche de l'IA. L'IA ne traitera pas les informations liées à votre licence Agilitest, mais elle traitera toutes les informations que vous lui donnerez dans une saisie de texte. Ne lui faites pas traiter vos mots de passe, par exemple.
Retourner une variable dans les sous-scripts
Pour qu'une variable créée dans un script apparaisse également dans les sous-scripts, vous devez utiliser la fonction $var(chemin_du_script.nom_du_script.nom_variable) pour récupérer cette valeur dans tous les sous-scripts de votre système d'exécution.
Exemple :
Si vous avez un répertoire "Phone" avec un script appelé "Samsung" et une variable dans ce script appelée "Version", vous entrez la fonction $var(Phone.Samsung.Version).
🔸 Attention
Si le script se trouve dans le répertoire racine, il n'est pas nécessaire de spécifier le chemin du script. Alors $var(nom_du_script.nom_de_la_variable) suffit.