Catégories

Utilisation de variables - IA

▶️ 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".

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

créer un bouton 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.

message d'erreur

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,

insérer une valeur spéciale

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 :

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

action de propriété

L'action sur les propriétés ciblera un élément d'interface

Cliquez sur le bouton "Charger" de l'action Propriété

bouton de chargement

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.

propriétés capturées

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.

variable de propriété

Exemple :

Si vous sélectionnez la propriété  "text"avec la valeur "Hello world - Wikipedia" dans la liste des propriétés capturées,

propriété du texte

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

texte propriété action

             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

menu à valeur spéciale

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

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.

variables d'exécution

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.

5 types de calcul

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", 

bouton de l'expr régulier

Cela permet d'afficher les entrées correspondante à la chaîne de caractère d'une expression régulière.

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
variable horaire

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.

expression régulière

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.

variable de date

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.

variable horaire

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.

variable numérique

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 :

exemple avec valeur et variables

É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 java simple

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

Aide à l'IA

🔸 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 :

bouton de réglage

Cochez la case pour activer ou désactiver l'intégration de l'intelligence artificielle.

Paramètres de l'aide à l'IA

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

fenêtre de dialogue

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

langage naturel

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.

Réponse du chatgpt

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 :

requête introduite dans le chatgpt

L'expression régulière proposée par l'IA sera automatiquement introduite dans l'entrée du modèle dans Agilitest.

contribution de l'IA

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


Vous avez encore besoin d'aide ?
Contacter le support