Catégorie

Gestion des scripts

Lors de la création d'un test, il est souvent nécessaire de gérer et d'organiser vos scripts de manière efficace afin de garantir un flux de travail fluide et simplifié maintenance.

Agilitest offre 4 niveaux différents de scripting :

  • Indices
  • Scripts
  • Suites
  • Emplois (Jenkins)

Les niveaux de script fournissent une structure essentielle pour la programmation et l'automatisation, vous permettant de gérer des tâches variées et complexes avec organisation et efficacité.

Scripts

Comment créer un script

Il y a deux façons de créer un script :

  1. Dans l'explorateur de projet, cliquez sur le bouton "Créer un script ATS ".

              2. En haut à gauche de l'éditeur, en cliquant sur "Nouveau composant"

nouveau composant

Saisissez le nom de votre script. Cela ouvrira une fenêtre d'édition avec des interprétations graphiques des actions à effectuer sur votre script. Le format ATS est un format textuel qui décrit toutes les actions.

édition du scénario

Indices

Les sous-scripts vous permettent de factoriser les fonctions de test communes, telles que la création de données de test, les connexions, les opérations régulièrement utilisées, etc...

Vous pouvez également passer des valeurs en tant que paramètres à vos sous-scripts, ce qui les rend évolutifs et génériques. C'est également un bon moyen de rendre vos scripts de test lisibles et faciles à consulter à l'adresse maintenir.

Comment créer un sous-scriptum

Un sous-script et un script ont la même configuration dans Agilitest.

Pour créer un sous-script, vous devez créer une action d'appel de sous-script dans votre script.

Il y a deux façons de procéder :

  1. Soit en saisissant le nom du sous-script dans l'action

Pour ce faire, cliquez sur l'action call sub-script dans le menu actions.

sous-script action

Cliquer sur "Appeler le script [ ]" pour saisir les informations

action de script d'appel

Sélectionnez ensuite le nom du script que vous souhaitez appeler en tant que sous-script

saisir le nom du script

            2. Soit en glissant-déposant un script dans votre test

Dans l'explorateur de projet, cliquez sur un script que vous souhaitez utiliser comme sous-script et faites-le glisser dans votre script.

glisser-déposer

Cela créera une action "Appeler le script".

Agilitest vous permet également de passer des valeurs en paramètres à vos sous-scripts, les rendant ainsi évolutifs et génériques.

Un sous-script créé à partir d'un script exécutera toujours les actions qui le composent avec les mêmes paramètres. Il est également possible de modifier les valeurs du sous-script pour l'utiliser dans plusieurs configurations possibles.

Pour plus d'informations, vous pouvez consulter la documentation sur le passage de paramètres à un sous-script.

Suites d'exécution

Une suite est très utile pour définir les critères de sélection des tests. Ces suites peuvent être composées de tests différents les uns des autres, ou être regroupées par domaines identiques: fonctionnel, importance et priorité à la relecture, typage, environnements d'exécution, etc...

Les suites exécutées peuvent également être filtrées par groupes.

Pour en savoir plus sur le fonctionnement des groupes, consultez la documentation sur la gestion des groupes.

Comment créer une suite

Ouvrez le menu de votre projet, puis cliquez sur "Gestion de l'exécution"pour ouvrir la fenêtre Constructeur de projet.

gestion des exécutions

À partir de cette page, vous pouvez créer des "exécutions".

exécutions

Cliquez sur le bouton "Ajouter"pour créer une nouvelle Suite d'exécution,

bouton d'ajout

Cliquez ensuite sur "Importer des scripts" dans le menu "Scripts"pour ajouter des scripts à votre exécution,

scripts d'importation

Vous pouvez également glisser-déposer des scripts depuis votre explorateur de projet vers la partie"Script" de votre Suite.

💡 Conseil

Même si votre script est composé de sous-scripts, pour créer une suite il suffit d'ajouter votre script, pas besoin d'ajouter les sous-scripts puisqu'ils sont utilisés dans votre script.

Configurer les suites

Vous pouvez également ajouter des paramètres à l'exécution de votre script.

Pour ce faire, cliquez sur le bouton qui apparaît sur la ligne de suite pour ouvrir la fenêtre des paramètres.

bouton crayon

Vous pouvez choisir le niveau d'enregistrement, activer les rapports de votre suite et ajouter une description.

🔸 Attention

Assurez-vous que vous êtes sur la bonne Suite lorsque vous voulez y apporter des modifications. Cela se vérifie lorsque la ligne Suite est en surbrillance.

suite sélectionnée

La coche verte signifie seulement que la suite a été sélectionnée pour être exécutée. Il peut y avoir plusieurs suites sélectionnées, qui seront alors exécutées l'une après l'autre.

Une fois que vous avez créé vos suites, vous pouvez sélectionner celles qui vous intéressent et cliquer sur "Générer" → "Compiler" → "Exécuter"pour les exécuter en mode Java.

compiler le constructeur

Pour en savoir plus, vous pouvez consulter notre documentation sur les exécutions TestNG

Jenkins Jobs

Un job correspond à l'exécution de vos Suites. Il est utilisé pour planifier des exécutions récurrentes afin de s'assurer que toutes les fonctions testées sont correctes ou non.

Ces Jobs, qui lanceront automatiquement vos tests sur vos solutions Web, Desktop, API ou Mobile, seront affichés sur un écran très graphique. Cela peut vous aider à assurer la qualité de vos solutions au quotidien.

Pour créer un travail, cliquez sur le bouton "Intégration Jenkins",

intégration de jenkins

Cliquez sur l'icône Jenkins pour vous connecter à Jenkins

icône jenkins

Cliquez ensuite sur "Nouveau travail",

bouton nouvel emploi

La fenêtre de création d'un emploi s'ouvre alors

Créer une fenêtre de travail

Vous pourrez saisir le nom de votre travail, ajouter les paramètres de votre choix et activer les rapports et les notifications.

Pour ajouter des suites à votre travail, cliquez sur le bouton "Ajouter"dans la liste des Suites.

Liste des suites

Pour exécuter votre travail à partir d'Agilitest, cochez la case sur la ligne du travail pour le sélectionner, puis cliquez sur"Exécuter".

exécuter

L'état de votre exécution sera affiché dans la fenêtre Jenkins.

Si vous souhaitez exécuter vos suites sans devoir utiliser Jenkins, c'est également possible, comme décrit ci-dessus. Il vous suffit de cocher les suites que vous souhaitez exécuter directement à partir du constructeur de projet.

Pour en savoir plus, vous pouvez consulter notre documentation sur l 'intégration de Jenkins.

Vous avez encore besoin d'aide ?
Contacter le support

Java Script

Agilitest est connu pour sa large couverture des différentes technologies récentes en matière de développement logiciel, et permet généralement d'automatiser à peu près n'importe quoi en quelques clics et de manière graphique.

Dans certains cas, cependant, il est utile d'appeler un code externe pour effectuer une opération spécifique à l'environnement.

Agilitest peut appeler un morceau de code Java, en passant des variables d'entrée et en récupérant des paramètres de sortie.

Bien entendu, nous recommandons toutes les précautions habituelles lors de l'utilisation de code externe Java, car s'il peut tout faire, il peut aussi avoir un impact indésirable sur le SUT (System Under Test).

En termes de portabilité, le code .ats produit par Agilitest est transformé en Java pour être exécuté. Vous pouvez donc supposer que le code Java que vous écrivez sera portable sur les différentes plates-formes supportées par ATS.

Créer un script Java

Pour commencer, vous allez générer le stub de votre code Java dans Agilitest.

Pour ce faire, changez la vue en "Scripts Java ATS "dans l'explorateur de projet,

Vue du script java

Cliquez sur le bouton pour "Créer un script Java ATS ".

créer un bouton java script

Vous pouvez également créer un script Java en cliquant sur "Nouveau composant", en haut à gauche de l'éditeur.

bouton nouveau composant

L'éditeur ouvre une fenêtre popup demandant le nom du script. Saisissez le nom de votre script et cliquez sur "OK".

nommer le script Java

L'éditeur ouvre une fenêtre d'édition de code Java et, après les déclarations nécessaires et utiles, affiche la fonction à appeler : testMain().

Code source Java

GetParameter

Il est possible de passer des paramètres par valeur à votre script Java.

Pour ce faire, cliquez sur le bouton "Appeler le script"dans votre script.

action de script d'appel

Cliquez ensuite sur "Ajouter un paramètre".

bouton d'ajout de paramètre

Ensuite, vous pouvez entrer les valeurs que vous voulez passer à votre script, et vous pouvez utiliser toutes les possibilités offertes par l'éditeur Agilitest : utilisation de variables, valeurs "en dur", itérations sur un fichier .csv...

Pour les récupérer dans le code Java, vous disposez de la fonction getParameter(int), qui prend un entier correspondant à l'index de la variable dans l'appel au script : getParameter(0) renverra la première valeur passée dans les paramètres.

GetValue

Les résultats sont récupérés de manière symétrique à l'appel de script.

Cela nécessite la déclaration de variables dans l'éditeur Agilitest, qui seront d'un type non modifiable (par l'utilisateur).

Pour déclarer des variables de retour, procédez comme suit :

Déclarez une nouvelle variable dans le menu de gestion des variables situé à gauche de l'éditeur.

créer une variable

Nommez la variable et insérez-la directement dans l'action du script d'appel.

nommer la variable

Agilitest modifiera le type de la variable pour la rendre non modifiable par l'utilisateur (indiqué par la variable de couleur orange) et la marquera comme "Variable retournée" pour le script Java appelé.

valeurs retournées

La variable peut être utilisée dans votre script pour des opérations futures.

Pour définir une valeur de retour du côté Java, vous disposez de la fonction returnValues(), qui prend toutes les valeurs que vous souhaitez renvoyer :

returnValues("value1", "retvalue2", param1) ;

Il est évident que le nombre de valeurs renvoyées doit correspondre au nombre de variables déclarées dans l'éditeur Agilitest.

Exécution du code

Si votre test comprend un script Java, il sera nécessaire de le compiler avant d'exécuter le test. Lors de la compilation, les éventuelles erreurs de syntaxe seront mises en évidence.

Une fois votre projet compilé, vous pouvez exécuter vos actions test et Java comme s'il s'agissait d'actions Agilitest standard : pas à pas (action par action) et avec le même mode d'exécution, chaque action Java étant exécutée en une seule fois.

🔸 Attention

Avant d'exécuter votre test, une fois la compilation Java terminée, vous devez fermer tous les canaux ouverts pour recharger les modifications Java compilées.

Si votre code Java est un peu complexe et que vous souhaitez le déboguer, vous pouvez utiliser le débogage pas à pas à condition d'avoir attribué un port de débogage Java dans Agilitest et de disposer d'un IDE tel qu'eclipse ou intelliJ.

Vous avez encore besoin d'aide ?
Contacter le support

Docker

Docker est une plateforme open source qui permet de créer, de déployer et d'exécuter des applications dans des environnements isolés appelés"conteneurs".

Les conteneurs sont des unités logicielles légères et autonomes qui encapsulent tous les éléments nécessaires à l'exécution d'une application, tels que le code, les bibliothèques, les dépendances et les configurations.

Les tests conçus sur Agilitest peuvent être exécutés avec Docker et ses conteneurs composés d'images. Créez et maintenir vos tests avec Agilitest puis exécutez-les avec Docker pour bénéficier d'exécutions en arrière-plan sans interface graphique qui donneront lieu à des rapports détaillés.

Qu'est-ce que Docker ?

Docker utilise des images pour créer des conteneurs. Un conteneur Docker est une instance en cours d'exécution d'une image Docker. Les images sont créées à partir de fichiers appelés Dockerfiles, qui décrivent les étapes de construction de l'image.

Le conteneur fournit un environnement isolé pour exécuter une application de manière cohérente et reproductible, indépendamment de l'environnement hôte. Chaque conteneur est isolé des autres et utilise efficacement les ressources du système.

Contrairement à une machine virtuelle, qui nécessite un système d'exploitation complet, chaque conteneur Docker partage le même noyau d'exploitation avec l'hôte, ce qui permet une utilisation plus efficace des ressources matérielles.

Pour en savoir plus sur l'utilisation de Docker, vous pouvez consulter la documentation de Docker : https://docs.docker.com/

Docker et ATS

ActionTestScript est un langage de test structuré et lisible utilisé pour créer des campagnes de tests automatisés fiables et performants pour les interfaces graphiques.

Les scripts de test sont définis par une séquence d'actions exécutées sur une application web ou de bureau. Les scripts écrits à l'adresse ATS sont convertis en classes Java, puis exécutés à l'aide des cadres Selenium et TestNG.

Avec ATS, les concepteurs de tests se concentrent uniquement sur les actions fonctionnelles à réaliser et n'ont pas à se soucier des considérations techniques.

En combinant Docker et ActionTestScript, vous avez désormais la possibilité d'exécuter des suites de tests dans des environnements prédéfinis, sous Linux ou Windows. Ces environnements sont équipés des dernières versions de navigateurs et de pilotes web.

Pour utiliser les images Docker, copiez la ligne de commande DockerPull de l'image,

Commande Docker pull

Ensuite, exécutez la commande dans votre script créé dans Agilitest via votre Terminal sur votre ordinateur.

💡 Conseil

Pour mettre à jour votre environnement, il suffit d'effectuer une extraction Docker avant chaque lancement de test pour obtenir la dernière version des images Docker en fonction des mises à jour du navigateur, des pilotes web, etc.

Cette combinaison offre une grande flexibilité et permet de maintenir un haut niveau de contrôle sur les conditions d'essai, garantissant ainsi des résultats précis et fiables.

Aucune configuration spécifique n'est requise sur la machine qui exécute les tests, à l'exception de l'installation de l'application Docker.

Pour installer Docker, cliquez sur le lien de téléchargement directement sur le site de Docker : https://www.docker.com/

Utiliser une image Docker

Pour découvrir les images Docker disponibles d'ActionTestScriptvous pouvez consulter la page web Docker Hup : https://hub.docker.com.

Entrer "actiontestscript"dans la barre de recherche pour afficher toutes les images correspondantes.

DockerHUB

Cette plateforme vous permet de consulter les détails de chaque image, tels que sa version, ses métadonnées et son mode d'emploi.

Détails de Docker Hub

Docker Hub fait de l'utilisation d'images Docker prêtes à l'emploi, comme celles d'ActionTestScript, un jeu d'enfant.

🔸Warning

La première fois que vous téléchargez le Dockerhub, il y a environ 3 Go, mais à chaque mise à jour, il ne télécharge que des portions d'images puisque la base a déjà été téléchargée. Les images sont découpées en "tranches" avec un GUID. Il s'agit généralement de fichiers de 150 à 200 Mo.

ATS images

Avec Docker, vous disposez de référentiels d'images basés sur les systèmes d'exploitation (OS) Linux et Windows.

Les images Linux peuvent être exécutées :

  • Hôte Windows via Hyper-V ou via Windows Subsystem for Linux (WSL)
  • Linux fenêtres
  • MacOs

Quant aux images Windows, elles ne peuvent être exécutées que sur un hôte Windows utilisant Hyper-V et uniquement avec une version "pro" de Windows (10 ou 11).

Images basées sur le système d'exploitation Linux

linux: Prêt à être utilisé pour exécuter des tests avec ActionTestScript, soit avec AtsLauncher, soit avec Maven.

linux-base: contient le Jdk Java, Maven et des outils tels que Git, Zip, Unzip et Bzip2.

linux-browsers: Contient les derniers navigateurs web. Les navigateurs inclus sont : Brave, Firefox, Google Chrome, Microsoft Edge et Opera.

Tests avec Docker

Dans les images Docker Linux et Windows, seuls les tests sur les navigateurs web et tous les tests d'API peuvent être exécutés. Il est également assez facile d'exécuter des tests avec Jenkins ou d'autres sur des serveurs non graphiques avec seulement quelques lignes de commande.

Conditions préalables :

  1. Sur un hôte Windows

Une fois installé, vous devez exécuter Docker Desktop sur l'hôte pour utiliser les conteneurs Docker.

        2. Sur un hôte Linux

Consultez la page suivante : https://docs.docker.com/engine/install/ubuntu/

Ensuite, vous devez récupérer l'image Docker :

  • Sur un hôte Windows: Dans une console PowerShell : Docker pull actiontestscript/linux
  • Sur un hôte Linux: Dans une console bash ou un shell : Docker pull actiontestscript/linux
  • Dépôt Git

🔸 Attention

‍Ilest important de noter que les tests impliquant des actions du système ne fonctionneront pas.

Une fois les tests exécutés, vous pouvez générer des rapports contenant des images, comme pour un test normal. Le rapport peut inclure des captures d'écran, même s'il n'y a pratiquement pas d'écran. Tout est stocké en mémoire grâce au navigateur web. Cela signifie que les tests peuvent être exécutés sur des serveurs qui n'ont pas d'interface graphique.

Vous avez encore besoin d'aide ?
Contacter le support

Agilitest Standalone

Vous pouvez exécuter Agilitest en tant que version autonome, ce qui signifie une version avec tous les outils ATS qui ne nécessite pas d'accès à Internet pour fonctionner.

Télécharger Agilitest en Standalone

Pour disposer d'une version Standalone d'Agilitest, vous devez suivre les étapes suivantes :

  1. Avoir un mot de passe Agilitest

Votre mot de passe Agilitest est défini lors de la création de votre licence.

Si vous n'en avez pas, rendez-vous à l'URL : api-agilitest.com/devices/login.php

Saisissez votre identifiant et un mot de passe vous sera envoyé sur votre messagerie

         2. Connectez-vous

Rendez-vous à l'URL : api-agilitest.com/private/index.php

Entrez votre nom d'utilisateur et votre mot de passe, puis cliquez sur "LOGIN"

connexion

           3. Télécharger la version autonome d'Agilitest

Trois versions autonomes sont disponibles :

  • La version simple d'Agilitest
  • La version Agilitest avec Jenkins
  • La version Agilitest avec Jenkins et le driver SAP

Vous avez deux possibilités pour télécharger la version Standalone :

  • En cliquant sur le bouton "Télécharger" à côté de la version souhaitée.
  • En copiant le lien de la version et en le collant dans la barre de recherche du navigateur. Ce lien ne changera pas et pourra être réutilisé lors de l'automatisation, sans avoir à s'authentifier.

🔸 Attention

Veuillez noter que vous allez télécharger une version Agilitest Editor personnalisée avec votre identifiant de compte Agilitest, il ne faut surtout pas diffuser cette archive en dehors de votre organisation.

Une fois le dossier Standalone téléchargé, vous devrez décompresser votre archive.

archive autonome

Vous vous retrouverez avec la version d'Agilitest et ses outils qui peuvent être utilisés indépendamment.

Enfin, lancez Agilitest à partir de votre dossier Standalone décompressé.

Personnaliser la version Standalone

Vous pouvez également personnaliser les versions de vos drivers Web sur votre version Standalone.

To do this, go to the downloaded Standalone folder: tools/ats-tools/<ats_version>/drivers

Modifiez ensuite les versions de Webdriver comme vous le souhaitez.

Vous pouvez également automatiser la récupération en créant des scripts à l'aide des commandes Wget et Curl :

  • wget "<Recovered_Token>" -o standalone.zip
  • curl -o standalone.zip "<Recovered_Token>"

Pour les commandes Linux :

  • wget -c -O standalone.zip  '<Recovered_Token>'
  • curl -L -C - -o standalone.zip  '<Recovered_Token>'
Vous avez encore besoin d'aide ?
Contacter le support

Gestion des licences

L'application de gestion des licences a pour but d'accéder à vos informations personnelles.

Pour accéder à l'interface des licences, rendez-vous sur dans le menu "Aide" d'Agilitest, en haut à droite.

bouton d'aide

Cliquez ensuite sur le bouton dédié pour ouvrir la page web de gestion des licences.

bouton licences utilisées

La page web s'ouvre sur une page d'accueil.

page des licences

Cliquez sur "Accéder à la page"et entrez vos données de connexion

entrer dans la page de connexion

Trois résultats sont possibles :

  1. Si l'identifiant n'existe pas, vous serez bloqué.

        2. Si l'identifiant existe mais n'a pas de mot de passe, vous serez informé qu'un e-mail vous a été envoyé avec un nouveau mot de passe.

Une fois que vous avez saisi votre nom d'utilisateur, saisissez le mot de passe correspondant

saisir le mot de passe

Si vous n'avez pas de mot de passe, un message vous informera qu'un mot de passe sera créé et vous sera envoyé par e-mail.

message concernant le nouveau mot de passe reçu par courrier électronique

       3. S'il n'y a pas de problème avec l'identifiant, entrez votre mot de passe. S'il est valide, vous serez dirigé vers la page d'information.

page d'information sur les licences

Sur la page d'information, vous trouverez des renseignements sur les licences et les appareils connectés.

Vous pouvez également demander la désactivation d'une licence. Pour ce faire, cliquez sur un bouton qui affiche une demande de confirmation. Vous recevrez alors une notification par pop-up.

Dans le tableau des appareils actifs, vous pouvez demander la désactivation d'un appareil.

Pour ce faire, cliquez sur le bouton "Désactiver"dans la ligne de licence.

bouton de désactivation

Cliquez ensuite sur "Envoyer la demande" afin qu'elle soit traitée par l'équipe d'Agilitest.

désactivation du dispositif

Une fois la demande de désactivation acceptée par l'équipe d'Agilitest, le dispositif apparaîtra dans le tableau des dispositifs désactivés.

panel des dispositifs désactivés

Vous avez encore besoin d'aide ?
Contacter le support

Exécutions de sous-scripts

▶️ Vous pouvez également regarder notre tutoriel sur comment exécuter des sous-scripts sur notre chaîne Youtube.

Lorsqu'un script est suffisamment long, vous pouvez le réduire en créant un sous-script.

L'utilisation de sous-scripts vous permettra de factoriser les fonctions communes de vos tests, telles que la création de données de test, la connexion, les opérations régulièrement utilisées, etc.

Un autre avantage est que vous pouvez passer des valeurs en tant que paramètres à vos sous-scripts, ce qui rend vos sous-scripts évolutifs et génériques.

Enfin, si vous gérez correctement la granularité de vos scripts et sous-scripts, cela vous permettra également d'avoir des scripts de test qui ne sont pas trop longs, qui sont lisibles et faciles à maintenir.

Créer un sous-script

L'action de sous-script a été conçue pour être évolutive.

Pour créer un sous-scriptsélectionnez toutes les actions de votre script qui vous intéressent. Vous pouvez le faire en en appuyant sur la touche CTRL.

sélectionner des actions

Ensuite, glissez et déposez vos actions sur votre page "Subscripts"dans votre explorateur.

sous-script dossier

Votre site sous-script apparaît dans l'explorateur de projets.

sous-script dans l'explorateur

Elle apparaîtra également sous la forme d'une action d'appel sous-script dans le script à partir duquel les actions ont été extraites si vous cochez la case "Insérer une action sous-script ".

insérer sous-script action

Ouvrir un sous-script

Il existe différentes façons d'ouvrir les sous-scripts, même si ils ont des typologies différentes telles que des itérations multiples, bloquées, aléatoires, etc...

Lorsque vous souhaitez ouvrir le script enfant avec le lien vers le parent, cliquez sur le bouton "Exécuter l'action"pour ouvrir votre sous-script et l'exécuter.

bouton d'exécution

Si votre sous-script contient des paramètres, ceux-ci apparaîtront dans une petite fenêtre affichant ces paramètres pendant quelques instants au cours de l'exécution.

paramètres montrant

Pour faire réapparaître ces paramètres, cliquez sur le bouton "\x"en bas à droite de l'écran.

pour afficher les paramètres

Un sous-script avec une seule itération

Dans unsite sous-script avec une seule itération, si vous cliquez sur le bouton"Exécuter les valeurs de retour", il retournera au script parent.

bouton d'exécution des valeurs de retour

Les éléments n'apparaîtront plus dans votre sous-script mais les paramètres resteront dans le sous-script.

Il est également possible d'arrêter le lien avec le parent, afin de ne pas revenir au parent une fois l'exécution de sous-script terminée et de poursuivre l'exécution du script.

Si vous ne voulez pas que cela se produise, et que vous exécutez simplement le sous-script, vous pouvez utiliser le sous-script. exécutez simplement l'indiceil suffit de cliquer sur l'icône de la croix pour annuler l'action de retour.

bouton d'annulation

Un sous-script avec plusieurs itérations

Dans un sous-script comportant plusieurs itérations, le nombre d'itérations apparaît sur la ligne d'action du sous-script.

sous-script appelé 3 fois

Ainsi qu'en bas à droite de l'exécution de votre sous-script.

nombre d'itérations

Si vous cliquez une fois sur la flèche, elle passera à l'itération suivante avec ses paramètres, et ainsi de suite si vous cliquez à nouveau sur la flèche.

bouton flèche

A la fin de ces itérations, comme dans le cas précédent, ce bouton sera utilisé pour revenir au parent.

Vous pouvez également exécuter vos itérations l'une après l'autre.

Pour ce faire, cliquez sur le bouton"Play" de votre éditeur dans le menu de gestion canal au lieu d'exécuter les actions l'une après l'autre.

bouton de lecture

Cela correspond davantage à un mode d'exécution, par rapport aux cas précédents qui correspondaient davantage à la création ou à maintenance.

Vous avez encore besoin d'aide ?
Contacter le support

Paramètres du projet

Les paramètres du projet permettent de gérer et de configurer un projet, dont les paramètres seront appliqués à tous les scripts du même projet. Chaque projet a ses propres paramètres.

Pour accéder aux paramètres du projet, vous devez cliquer sur le menu contextuel du projet en question dans l'explorateur de projets Agilitest.

Dans l'explorateur de projets, cliquez sur "Propriétés du projet" pour accéder aux paramètres du projet.

propriétés du projet

La fenêtre des paramètres du projet s'ouvre alors.

la fenêtre de paramétrage du projet

Modification des informations du projet

informations sur le projet

À partir de cet écran, vous pouvez accéder à votre projet à partir de l'explorateur de fenêtres et modifier le nom et la description du projet.

Vous pourrez également versionner le projet, ce qui signifie que vous pouvez stabiliser l'utilisation d'une version spécifique de ATS en référençant la bibliothèque ATS que vous souhaitez.

🔸 Attention

Nous ne recommandons pas de changer la version du projet car les changements dans l'éditeur et ATS sont étroitement liés. Cependant, cette fonctionnalité est disponible au cas où elle pourrait intéresser certains profils.

Apache Maven

Apache maven

En cochant la première option, vous activerez une "Mise à jour automatique de la version ATS ".

La seconde option est de permettre l'utilisation de Maven avec Agilitest. Maven est un gestionnaire de paquets qui vous permet de récupérer les dernières versions des librairies et d'intégrer vos propres librairies dans vos projets.

Mots de passe du projet

mots de passe du projet

Vous pouvez créer et gérer des mots de passe, qui sont réutilisables sous forme cryptée dans vos scripts, avec le mot-clé "$pass".

Agilitest vous permet d'enregistrer des variables qui sont ensuite cryptées dans des fichiers ATS .

Pour créer un mot de passe, cliquez sur "Ajouter"

bouton ajouter un mot de passe

Ensuite, entrez le nom que vous voulez donner à votre mot de passe et sa valeur qui sera ensuite cryptée.

création d'un mot de passe

Les variables cryptées n'apparaissent pas en texte clair dans les fichiers ou dans l'interface d'édition des tests.

Comment gérer les mots de passe cryptés

Les mots de passe peuvent également être gérés en utilisant le raccourci situé dans le menu des touches spéciales lors de la saisie de texte.

mots de passe dans le menu des valeurs spéciales

La valeur peut alors être récupérée dans ATS comme une variable normale en utilisant le mot-clé $pass(variable).

Voici les différences avec la gestion de variable normale :

  • Les mots de passe ne sont pas imprimés dans l'interface utilisateur de l'éditeur, sauf dans son menu d'édition.
  • Ils ne sont pas visibles dans les fichiers ATS , pas même leurs déclarations.
  • Ils n'apparaissent pas dans les fichiers ATSV.
  • Ils n'apparaissent pas dans les journaux générés par Agilitest et ATS.
  • Chaque variable déclarée à l'aide des variables $pass() est traitée de la même manière.

Quand utiliser des mots de passe cryptés

Nous vous recommandons d'utiliser des mots de passe cryptés lorsque vous n'avez pas d'autres options.

Nous vous déconseillons d'effectuer vos tests avec des comptes d'utilisateurs réels en cryptant les mots de passe. La solution que nous recommandons est de créer des utilisateurs dédiés aux tests et disposant de leurs propres privilèges, si possible limités.

💡 Conseil

Si vous ne pouvez pas faire autrement, comme lorsque vous voulez tester le compte administrateur, nous vous conseillons de le faire sur des environnements similaires à la production, mais sécurisés différemment (par exemple, physiquement dans vos locaux).

Si vous effectuez des tests sur des systèmes dans le cloud, vous ne pourrez pas faire autrement. Dans ce cas, nous vous conseillons de compléter ce mécanisme, par exemple en utilisant des protocoles de transfert sécurisés tels que https ou en utilisant des mots de passe à usage unique émis par un serveur sécurisé.

Modèles de rapports de projet

modèles de rapports de projet

Les modèles de rapport de projet sont utilisés pour personnaliser les rapports d'exécution.

Pour personnaliser vos rapports, cliquez sur le bouton "Modifier".

bouton de personnalisation

Ensuite, cliquez sur le bouton d'édition du fichier de feuille de style.

éditer le bouton personnalisé

Vous avez encore besoin d'aide ?
Contacter le support

Gestion des groupes

L'objectif de la gestion des groupes est de mieux gérer les exécutions. Les scripts sont disposés dans des groupes nommés afin de personnaliser l'organisation. Cela permet d'inclure ou d'exclure des groupes de scripts d'une exécution.

Aujourd'hui, les groupes sont utilisés que pour filtrer les suites d'exécution ou organiser les scripts ATS . Chaque suite d'exécution a sa propre configuration de filtre. Il y a deux façons de gérer les groupes, soit par la fenêtre de gestion des groupes, soit directement par les propriétés d'un script.

Fenêtre de gestion des groupes

Vous pouvez accéder à la fenêtre de gestion des groupes à partir du menu Explorateur de projets.

Explorateur de projets > menu > Gestion des groupes

gestion des groupes

L'édition et maintenance de ces groupes peut se faire dans la page "Gestion des groupes" d'un projet.

fenêtre de gestion des groupes

La fenêtre Gestion des groupes permet aux utilisateurs de créer et de gérer le contenu des groupes de scripts.

Un groupe est caractérisé, d'une part, par un nom et, d'autre part, par les scripts qu'il contient. Ces groupes ont la particularité de pouvoir être utilisés dans plusieurs contextes, notamment pour inclure ou exclure des scripts dans une exécution.

Pour chaque groupe, vous pouvez

  • Ajouter des scripts
  • Retirerer les scripts
  • Modifier le tag (couleur + ID)
  • Dupliquer le groupe
  • Supprimer le groupe

Créer un groupe

Cliquez sur "Créer un groupe" dans la fenêtre de gestion des groupes

Bouton d'ajout de groupe

Cela vous ouvrira une fenêtre contextuelle de création de groupe

créer une fenêtre contextuelle de groupe

Dans ce menu, vous pouvez créer le nom du groupe ainsi que choisir une couleur et un identifiant qui représenteront le TAG de votre groupe.

Une fois le groupe créé, il est possible de le dupliquer en cliquant sur le bouton "..."

bouton dupliquer le groupe

Vous avez la possibilité de changer l'étiquette du groupe dupliqué pour mieux organiser vos groupes

duplicate group popup

Tag d'un groupe

Chaque groupe dispose d'un tag caractérisé par une couleur et 3 caractères. Sept couleurs sont proposées et l'ID peut correspondre aux 3 caractères de votre choix.

Vous pouvez modifier le tag d'un groupe à tout moment à partir de la fenêtre de gestion des groupes.

Pour ce faire, cliquez sur "Modifier le tag du groupe" à partir du bouton "..." d'un groupe déjà créé.

bouton d'édition de l'étiquette du groupe

Puis, modifiez l'étiquette du groupe comme vous le souhaitez

edit group tag popup

Si le tag saisi existe déjà, un message apparaît après avoir cliqué sur "Confirmer".

Message de l'étiquette existante

Comment filtrer les groupes ?

Les groupes peuvent être utilisés pour filtrer un certain nombre de scripts spécifiques. Aujourd'hui, il est possible de filtrer le contenu d'une suite d'exécution en ordonnant d'exclure, c'est-à-dire de ne pas exécuter, tous les scripts d'un ou de plusieurs groupes.

Les filtres sont applicables à partir de l'insert de script de la fenêtre de gestion des exécutions mais peuvent également être gérés directement à partir des propriétés d'un script placé dans un groupe.

Depuis la gestion des exécutions

Dans l'explorateur de projet, cliquez sur le menu > Gestion des exécutions

Gestion des exécutions

Dans le volet inférieur gauche, il est possible de sélectionner, d'ajouter et de supprimer des filtres.

panneau de filtre

Chaque projet a sa propre gestion de groupe et chaque suite d'exécution a sa propre configuration de filtres.

L'exclusion d'un groupe permet d'empêcher l'exécution des scripts qui le composent.

Exemple :

Si, dans la suite "Routine", vous décidez d'exclure le groupe "Bug",

Suite de routine avec le groupe Bug

Alors, si vous changez de suite, vous ne trouverez pas le groupe  "Bug" puisqu'il ne fait partie que de la suite "Routine".

Suite de tests sans groupes

📙 Pour en savoir plus
Schéma des groupes et du système de filtres
Lorsque les scripts sont placés dans des groupes, cela signifie qu'ils peuvent être filtrés pendant l'exécution. Si vous décidez d'exclure des groupes, les scripts appartenant aux groupes exclus ne seront pas exécutés lors de l'exécution. Les groupes vous permettent également de classer vos scripts et de les organiser en fonction de vos besoins.
(Vous trouverez une animation de ce schéma ici : https://youtu.be/L3PmZmDdaGg)

Dans les propriétés d'un script

Il est également possible de gérer les groupes et leur composition directement via les propriétés du script. Les propriétés de script permettent de :

  • Savoir à quels groupes appartient un script
  • Affecter ou retirer un script dans des groupes existants

Pour ce faire, cliquez avec le bouton droit de la souris sur un script ATS dans l'explorateur de fichiers et cliquez sur "Modifier les propriétés".

Modifier les propriétés

Une fenêtre s'ouvre alors, indiquant à quel(s) groupe(s) appartient le script sélectionné.

propriétés d'un script

Vous avez encore besoin d'aide ?
Contacter le support

Configuration des outils

Agilitest peut être complété par différents outils permettant d'optimiser la création et maintenance des tests. Vous trouverez ces outils dans le menu "Outils", situé en haut à droite de l'éditeur. Il est conseillé de les télécharger dès l'installation d'Agilitest afin de les avoir à disposition lors de l'utilisation d'Agilitest.

Vous pouvez ouvrir la page d'outils d'Agilitest en cliquant sur le bouton "Outils" en haut à droite de l'éditeur.

bouton outils

Cela ouvrira la page avec tous les outils qui peuvent être ajoutés au fonctionnement d'Agilitest.

page outils

Vous pouvez télécharger ces outils directement à partir d'Agilitest en cliquant sur les liens à côté de chaque outil.

bouton de téléchargement

Rapport Jasper

rapport jasper

Les rapports Jasper sont utilisés pour générer Rapports de tests au format pdf à partir des rapports html.

rapport pdf

Gestion de projet Apache Maven

gestion de projet apache maven

Ce menu permet de gérer directement les dépendances de ATS avec Maven. Il est réservé à un usage expert pour ceux qui souhaitent utiliser une version spécifique de ATS tout en permettant de récupérer toutes ses dépendances.

Maven correspond à un utilitaire qui permet la construction d'un projet et la gestion de ses dépendances. Si une libraire est sous une certaine version, avec Maven il est possible de faire cohabiter plusieurs versions et de choisir quelle version sera traitée après avoir compilé son projet.

FlaUInspect

flauinspect

FlaUinspect est un outil Windows qui permet d'identifier les composants sous Windows. Il correspond à ce que Windows peut "voir" lorsqu'il y a des applications ouvertes.

Cliquez sur le bouton d'exécution pour ouvrir la fenêtre FlaUInspect.

bouton d'exécution

L'outil démarre à partir du bureau et affiche toutes les fenêtres ouvertes et les différents éléments qui les composent.

flauinspect window

Cela correspond à l'interprétation Windows du composant Web, donc le niveau n'est pas aussi élevé que l'outil de capture dédié au Web. Mais il peut être intéressant de l'utiliser sur des clients d'applications Windows natives. Ceci montre le chemin que vous pouvez recréer manuellement avec un locator lorsque l'outil de capture ne fonctionne pas correctement.

Cet outil est notamment utilisé pour déboguer ou démystifier des cas particuliers.

Serveur Jenkins

serveur jenkins

Le serveur Jenkins est un outil d'intégration continue. Cet outil peut être déployé de deux manières :

  • Embed server: Cela correspond à une utilisation locale. Il s'agit d'un système préconfiguré pour fonctionner localement avec des plugins de base et des paramètres poussés par Agilitest pour fonctionner sur les ordinateurs.
  • Serveur distant: Il correspond à un serveur en ligne, sur le cloud de l'entreprise ou sur une zone dématérialisée (DMZ).

Une fois connecté, vous aurez accès à ces trois boutons :

boutons jenkins
  • Déconnexion
  • Stop Jenkins
  • Ouvrir la page

Tous ces outils ne sont pas obligatoires pour qu'Agilitest fonctionne, mais ils fournissent un service complémentaire et contribuent à améliorer l'expérience de l'utilisateur.

Exemple :

Avec l'intégration continue, il est possible d'exécuter des tests de manière programmée : pendant la nuit, le matin ou à n'importe quelle heure de la journée. Ceci est possible grâce à Jenkins, et non à Agilitest.

Vous avez encore besoin d'aide ?
Contacter le support

SAP

SAP : un outil fonctionnel

Qu'est-ce que SAP ?

SAP (Systems, Applications and Products) est l'un des principaux producteurs mondiaux de logiciels pour la gestion des processus d'entreprise, en développant des solutions qui facilitent le traitement efficace des données et le flux d'informations dans les organisations.

SAP est utilisé comme gestionnaire de données. C'est un outil indépendant d'Agilitest qui permet de créer des programmes à travers des modules.

Vous pouvez consulter la documentation SAP directement sur le site web de SAP.

L'intégration de SAP avec Agilitest vous permet de créer et maintenir des tests complexes avec une approche fonctionnelle. Les tests SAP GUI peuvent être utilisés pour gérer la modification ou le développement de règles de gestion, ou la mise à jour des fonctionnalités du système ERP.

📙 Pour en savoir plus
architecture entre ats et le système sap
SAP est un outil indépendant d'Agilitest. Pour établir une connexion avec cet outil, un système driver est utilisé pour envoyer les éléments à SAP driver. Une fois le lien établi, une connexion au serveur SAP sera réalisée via le protocole SAP GUI.

Comment se connecter à un serveur SAP ?

▶️ Vous pouvez retrouver un tutoriel sur comment se connecter à un serveur SAP sur notre chaîne Youtube.

Pour utiliser SAP, vous devez installer un client : le SAP Logon. Ce client vous permettra d'interagir avec le serveur SAP. Une connexion est établie dans ce client avec les éléments transmis par l'administrateur SAP, notamment le serveur cible.

Connexion SAP

Pour se connecter à un serveur SAP, l'opération est la même que pour toute autre application testée sur Agilitest.

Commencez donc par un "Démarrer un canal".

commencez l'action canal

Sélectionnez ensuite le raccourci SAP pour définir le site canal dans le menu déroulant de la barre de saisie.

menu des raccourcis de l'application

Saisissez les coordonnées du serveur SAP, présentes dans le logon SAP, c'est-à-dire le nom de la connexion, le numéro de client (c'est-à-dire le numéro de mandat associé) et éventuellement la langue (EN/FR/...).

Cliquez ensuite sur "Activer l'autorisation de base" pour entrer vos données de connexion : nom d'utilisateur + mot de passe.

Raccourci SAP

💡 Conseil

Pour éviter que votre mot de passe n'apparaisse dans le test, pensez à créer un mot de passe crypté à partir du menu des propriétés du projet.

Pour démarrer la connexion en anglais, vous pouvez changer la langue dans la partie de connexion en ajoutant"/EN" à la fin de l'identifiant.

SAP english connection

Pendant l'exécution, la connexion se fait automatiquement. Une fois connecté, le site driver reprend la fenêtre SAP ouverte sur la page d'accueil SAP.

Session enregistrée dans les propriétés ATS

Pour rappel, il est également possible de configurer les applications couramment utilisées pour qu'elles apparaissent directement dans le panneau des applications lors de l'action d'ouverture de canal . Ceci est également possible pour les sessions auxquelles vous avez accès, y compris les sessions SAP.

Ce raccourci vous permet d'éviter de partager les informations relatives à la connexion à un serveur SAP (identifiants, mots de passe) si vous souhaitez travailler sur un test SAP sur plusieurs postes de travail.

Pour utiliser ce raccourci, vous devez modifier les propriétés ATS .

Pour accéder aux propriétés ATS , allez dans la section "Paramètres" dans Agilitest.

Bouton de réglage

Cliquez ensuite sur "Modifier la configuration" dans les paramètres de ATS

Bouton de modification de la configuration

Cela ouvrira la page des propriétés ATS où vous pourrez configurer divers éléments.

ats propriétés

Voici un exemple de configuration possible pour une session SAP :

📙 Configuration SAP

<sap>

<timeOut>200</timeOut>

<sessions>

<session>

<name>MySAP</name>

<client>800</client>

<connection>(Logon_id)</connection>

<authentication>(Code_source_ATS)</authentication>

</session>

L'authentification se trouve dans le code ATS de votre script avec une connexion SAP.

Pour y accéder, ouvrez votre script et cliquez sur l'icône "Données d'en-tête du script".

Bouton de données d'en-tête de script

Cliquez ensuite sur "Code ATS"

code ats bouton

Elle affiche toutes les actions du script sous forme de code.

Pour remplir les informations de connexion dans les propriétés, récupérez le code de chaîne correspondant à la connexion au serveur SAP à partir de l'action "Démarrer un canal".

ats info code

Copiez les informations de connexion dans les propriétés ATS .

ats propriétés

Une fois les informations saisies, sauvegardez votre fichier et revenez au menu des applications d'Agilitest où vous retrouverez la session que vous avez saisie.

Application SAP

Interface SAP

Une fois SAP ouvert, tout comme un test sur le Web, vous pouvez capturer les éléments avec l'outil de capture pour pouvoir les tester.

capture dans SAP

L'écran d'accueil SAP affiche les modules, ou transactions, disponibles pour les utilisateurs.

modules sap

Ces modules correspondent à des programmes qui vous permettent de gérer différents aspects de l'entreprise, tels que la gestion des stocks ou les informations relatives aux ressources humaines.

Vous pourrez choisir parmi les différentes interfaces possibles en fonction des écrans qui ont été mis à votre disposition lors de la création de votre compte.

Écrans SAP

L'accessibilité de ces écrans est décidée en fonction du rôle occupé dans l'entreprise et de ses besoins en matière de gestion des données.

Les modules SAP permettent de gérer de nombreux aspects de l'entreprise tels que la finance, les ventes, la production, la logistique, la distribution, la comptabilité et les ressources humaines. Comme SAP gère un système d'information qui, par nature, est sujet à des changements, il est important d'effectuer régulièrement des tests unitaires fonctionnels dans votre processus QA pour s'assurer que tous ces processus fournissent continuellement les résultats escomptés.

Exemple: SAP propose une solution SIRH qui automatise les opérations de gestion des ressources humaines, mais qui offre également des expériences qui stimulent l'engagement et la productivité des employés. Le SIRH de SAP se concentre sur la gestion de l'expérience des employés, les fonctions de base des ressources humaines et de la paie, la gestion des talents et l'analyse des ressources humaines.

Tests sur SAP

Changement de fenêtre

Dans certains cas, le module s'ouvre dans une nouvelle fenêtre SAP. Pour gérer cette notion de fenêtre, vous devrez changer la fenêtre d'Agilitest.

Pour ce faire, cliquez sur l'action de fenêtre.

Action de la fenêtre

Passez ensuite à la fenêtre ayant l'index 1 (la fenêtre principale a l'index 0).

index dans l'action de la fenêtre de commutation

Actions sur un tableau

Une fois votre tableau ouvert dans l'interface SAP, ouvrez votre outil de capture pour effectuer des actions sur celui-ci.

Lors de la capture, vous devrez définir un Locator qui est un ensemble d'attributs permettant d'identifier l'élément capturé.

Parmi les branches parentales de l'élément, on trouve généralement : l'objet (Exemple:"TableControl", "GridControl", "TreeControl"), les lignes, les colonnes.

Parents de l'élément capturé

Plusieurs cas de figure sont possibles :

  • Recherche d'un élément d'un tableau qui apparaît directement sur l'interface

Exemple Un tableau de quelques lignes.

Lorsque nous capturons un élément sur l'écran, la recherche de l'élément avec le site locator sera moins précise.

La recherche peut être effectuée en fonction de l'attribut"Text" de l'élément capturé et de l'ElementId de la branche"TableControl".

Éléments du tableau

Une fois les attributs sélectionnés, faites glisser l'élément dans l'éditeur Agilitest pour créer une action.

cliquer sur l'action

Ce type de recherche ne recherchera pas de ligne, mais restera simplement sur le même écran.

  • Recherche d'un élément de tableau dans une longue liste

Lorsque vous souhaitez capturer un élément d'une longue liste qui nécessite qu'Agilitest parcoure les éléments, vous devez le spécifier à l'aide d'attributs.

Cette fois, vous devez lui indiquer que l'élément se trouve dans une "Row"

Éléments du tableau

Faire glisser l'élément dans une action

Action de clic

Une recherche dans une ligne est effectuée en fonction du texte qu'elle contient. Agilitest parcourt les lignes du tableau pour trouver celle qui contient le texte saisi comme attribut.

💡 Conseil

Pour simplifier les opérations, il est recommandé de transformer le texte en une expression régulière.

Actions sur les grilles

Il est possible de passer d'un tableau à une grille en appuyant sur la touche F8 et en spécifiant le nombre de lignes que l'on souhaite voir apparaître dans la case "Nombre maximum de lignes".

Transformer le tableau en grille

Les grilles permettent d'afficher plus d'informations qui peuvent être lues verticalement et horizontalement.

grilles

La capture d'un élément se déroule de la même manière que pour les tableaux, seul l'affichage des parents des éléments capturés spécifiera qu'il s'agit de grilles.

Éléments de la grille

Les grilles sont un ensemble de données organisées en lignes et en colonnes.

Il est également possible de rechercher la présence d'un élément dans plusieurs lignes en utilisant "Row".

Pour ce faire, vous devez créer un sous-script avec des commentaires de journal d'exécution pour afficher les éléments trouvés.

sous-script action

Exemple: Si nous recherchons le texte "MIERZWA"dans toutes les lignes en utilisant la propriété text de la classe "GridRow", alors votre sous-script affichera les lignes qui contiennent ce texte.

Dans cet exemple, 5 itérations sont affichées, donc MIERZWA apparaît 5 fois dans les lignes. Les paramètres indiquent l'emplacement exact, par exemple la ligne "1014". (voir la capture d'écran ci-dessous)

sous-script paramètres d'exécution

Avec cette action, chaque ligne est transmise au script et chaque colonne représente un paramètre.

ats paramètres du code

Actions sur les arbres de données

L'arbre de données est parfois composé dans une configuration simple avec une seule colonne qui comprend plusieurs niveaux et d'autres fois de manière plus complexe, avec plusieurs colonnes dans le même arbre. L'exécution des tests sur les arbres est similaire à celle sur les grilles et les tableaux.

Les éléments de recherche d'un composant sont similaires à ceux des grilles et des tableaux.

éléments d'arbres

La branche "TreeNode" représentera les nœuds de l'arbre, c'est-à-dire les différents niveaux qui apparaissent.

Chaque nœud a zéro ou n enfants qui peuvent être déployés.

Nœuds de l'arbre

Exemple: L'élément "Données de base" a 3 enfants, alors que ses enfants n'en ont aucun.

Lorsqu'un arbre est complexe, un nœud peut avoir plusieurs colonnes.

Comme pour les grilles, l'arbre est configuré avec des lignes qui concatènent toutes les colonnes de la ligne.

Cela signifie que la recherche d'éléments d'une structure arborescente se fait principalement par le biais de la branche "Row".

Branche de la rangée d'arbres

VBscript

Enregistreur SAP dans SAP

L'une des fonctionnalités offertes par SAP est l'utilisation d'un enregistreur. Une fois activée, cette fonction enregistre les actions effectuées sur SAP et les traduit ensuite en vbscript.

Pour lancer la capture directement dans SAP, allez dans les options du menu déroulant : Plus > Options et actions SAP GUI > Enregistrement et playback du script

enregistreur de sève

Une fenêtre de lancement s'affiche.

fenêtre contextuelle de l'enregistreur

Cliquez sur le bouton "enregistrer"pour lancer l'enregistrement

bouton d'enregistrement

Une fois cela fait, effectuez vos manipulations puis cliquez sur le bouton "arrêter" pour terminer l'enregistrement.

bouton d'arrêt

Une fois la capture terminée, une page contenant toutes vos actions au format vbscript s'ouvrira automatiquement.

vbscript

Pour rejouer ce script, cliquez sur le bouton "lecture".

Cela ouvrira votre explorateur Windows et le dossier contenant votre script.

script dans l'explorateur windows

En cliquant sur le script, les actions qui ont été exécutées directement sur SAP seront exécutées à nouveau.

Pour utiliser les données vbscript dans Agilitest, vous devez consulter les dernières lignes de votre script.

actions vbscript

Action de script dans Agilitest

A partir d'Agilitest, vous pouvez également créer des actions au format vbscript et interagir avec SAP.

Deux possibilités s'offrent à vous :

  1. Soit en utilisant les lignes de script du vbscript.

Pour cela, copiez une ligne de script de votre vbscript que vous souhaitez transformer en action.

ligne dans vbscript

Cliquez ensuite sur le bouton "Scripting"

action de script

Il n'est pas nécessaire de spécifier un élément d'interface.

aucun élément

Cliquez directement sur l'action "Scripting" et collez la ligne de script

saisir du texte dans une action de script

         2. Soit en créant manuellement des actions vbscript à l'aide des propriétés

Cliquez sur le bouton "Scripting".

action de script

Ajouter un élément d'interface et entrer une valeur qui agira sur cet élément

élément d'interface dans une action de script

Exemple Exemple : Ci-dessus, l'élément interface correspond à un élément dans lequel on peut saisir du texte, avec l'élément "texte" de cet élément est définie comme "MIGO".

Lorsque l'action est exécutée, elle se traduit par le texte MIGO dans la saisie de texte sur SAP.

"migo" saisi dans la barre de texte

La différence entre ces deux manipulations est qu'en passant par une ligne de code du vbscirpt l'accès à l'objet se fait par son id, alors qu'en passant par une action Agilitest, l'accès à l'objet se fait par ses propriétés.

SAP Recorder avec Agilitest

Agilitest vous permet d'utiliser un Recorder pour vos actions SAP.

Une fois que SAP canal a été lancé, vous pouvez activer le Recorder.

Cliquez sur le bouton dans le menu de gestion de canal pour lancer l'application Enregistreur.

bouton d'enregistrement, rouge

Le bouton est rouge lorsqu'il est désactivé et vert lorsqu'il est activé.

Effectuez ensuite vos actions directement sur SAP : saisie de texte, clics, etc... Tout cela sera traduit en action dans l'éditeur Agilitest.

Par défaut, le critère de sélection de l'objet est "ElementId". Pour maintenir la flexibilité d'Agilitest, vous pouvez modifier les attributs assignés à chaque action en fonction de vos besoins.

🔸 Attention

Toutes les actions de saisie de texte doivent être validées en appuyant sur la touche"ENTER" à la fin de la saisie.

Vous pouvez également générer des actions de vérification.

A cet effet, une commande clavier a été mise en place pour créer des actions de vérification dans l'éditeur Agilitest :

  • Presse ALT+F1 pour créer une action de vérification de propriété
  • Presse ALT+F2 pour créer une action de vérification d'occurrence
  • Presse ALT+F3 pour effectuer une action sur une propriété

Ces trois commandes sont indépendantes de l'enregistreur et peuvent être exécutées sans qu'il soit activé lors d'un test SAP.

Pour arrêter le bouton de l'enregistreur, cliquez à nouveau dans le menu de gestion canal .

bouton d'enregistrement, vert

Vous avez encore besoin d'aide ?
Contacter le support

Valeurs spéciales

Lorsque vous pouvez saisir du texte dans une action Agilitest, il est possible de cliquer sur un bouton qui vous permettra d'insérer des valeurs spéciales.

pour ouvrir les valeurs spéciales

Cela vous montrera toutes les valeurs spéciales organisées dans un menu dédié.

Menu à valeur spéciale

Parmi ces valeurs spéciales se trouvent :

Variable d'environnement

variable d'environnement

Les variables d'environnement sont liées à l'exécution en cours.

Elles se trouvent dans les variables d'exécution dans le constructeur de projet.

Pour y accéder, cliquez sur "Gestion des exécutions"dans l'explorateur de projet.

gestion des exécutions

Cela ouvrira la page du constructeur de projet où vous pouvez trouver les variables d'environnement dans l'encart des valeurs spéciales.

variables d'exécution

Vous trouverez les mêmes informations sur les variables d'environnement dans le menu des valeurs spéciales.

valeurs de la variable d'environnement

Variable de script

variable de script

Les variables de script correspondent aux variables déclarées dans un script.

Dans l'éditeur, ils se trouvent dans la partie dédiée aux variables sous l'explorateur de projet.

les variables du script

Vous trouverez les mêmes informations sur les variables de script dans le menu des valeurs spéciales.

les valeurs des variables du script

Paramètre de script

paramètre de script

Les paramètres de script sont les paramètres qui sont passés dans un appel de sous-script.

Ils se trouvent à l'intérieur de l'action d'appel du sous-script, dans les paramètres ajoutés.

paramètres transmis dans l'action d'appel sous-script

Vous trouverez les mêmes informations sur les paramètres de script dans le menu des valeurs spéciales.

les valeurs des paramètres du script

Assets

Assets

Le fichier des assets correspond au chemin de tous les fichiers qui se trouvent dans les assets (Exemple: données, ressources, etc...). Cela correspond au chemin relatif emprunté par ces fichiers.

Les valeurs peuvent être trouvées dans l'explorateur de projet, dans la vue"Fichiers de données".

Vue des fichiers de données

Vous pouvez trouver les mêmes informations sur le fichier des actifs dans le menu des valeurs spéciales.

valeurs des fichiers d'actifs

Mots de passe

Mots de passe

Les mots de passe correspondent à tous les mots de passe saisis dans un projet.

Ils peuvent être trouvés dans la page des propriétés du projet.

Pour accéder aux propriétés, cliquez sur "Propriétés du projet"dans l'explorateur de projet

propriétés du projet

Dans les propriétés, vous avez accès aux mots de passe créés.

le mot de passe du projet dans les propriétés du projet.

Vous trouverez les mêmes informations sur les mots de passe dans le menu des valeurs spéciales.

valeurs des mots de passe

Valeurs de canal

Valeurs de canal

Ces valeurs correspondent aux valeurs renvoyées par un canal en cours d'exécution.

Exemple :

Dans un script qui ouvre un canal "Chrome",

Si nous demandons à récupérer la valeur du "Nom de l'application" dans les valeurs spéciales,

canal valeurs dans les valeurs spéciales

Alors, le nom de l'application ouverte par le canal apparaîtra.

🔸 Attention

Si le canal n'est pas lancé, la valeur ne peut pas être récupérée.

canal message non démarré

Valeurs de script ATS

ATS vaues script

Les valeurs de script ATS sont des valeurs qui ne sont valorisées que dans une exécution Java. Elles n'apparaissent que lorsqu'elles sont extraites du Top script dans une exécution Java.

ats valeurs de script dans les valeurs spéciales

Valeurs calculées

valeurs calculées

Les valeurs calculées sont résumées dans un menu déroulant.

Ces valeurs sont : Maintenant, Aujourd'hui, Identifiant unique, Caractère aléatoire, Itération en cours, Nombre d'itérations.

valeurs calculées dans les valeurs spéciales

Vous avez encore besoin d'aide ?
Contacter le support

ATS Mobile Station 

Mobile Station permet de réaliser des tests sur mobile (USB et Wifi) et sur tablette (USB) via ATS ou directement via Agilitest.

🔸Warning

Avant de poursuivre cette documentation sur l'utilisation de Mobile Station avec Agilitest, assurez-vous d'avoir installé tous les prérequis en consultant la documentation de Mobile Station sur Gitlab : https://gitlab.com/actiontestscript/mobile/mobile-station#android-testing

Configurer un serveur Mobile Station

Comment configurer Mobile Station afin qu'Agilitest puisse discuter directement avec Mobile Station ?

Retrouvez une vidéo montrant les étapes pour connecter un serveur Mobile Station à Agilitest en regardant ce tutoriel : https://youtu.be/-SE1kN03LMw (configurer un serveur Mobile Station)

Connexion à un serveur

Pour vous connecter à un serveur, vous devez vous rendre dans les paramètres d'Agilitest en cliquant sur "Paramètres" en haut à droite de l'écran.

Accès aux paramètres d'Agilitest
Configurations d'Agilitest

Dans le cadre "ATS Mobile Station server", vous pouvez ajouter un serveur que vous connecterez à Agilitest en cliquant sur "Ajouter".

ATS Boîte de dialogue du serveur de la station mobile dans les paramètres
Encart ATS Mobile Station

Il vous sera demandé de saisir l'adresse IP et le port, qui seront récupérés directement dans l'interface Mobile Station.

ATS Boîte d'information sur le serveur de la station mobile
Adresse IP et informations sur le port

Pressez la touche "Entrer" pour confirmer votre sélection et le serveur apparaîtra sur une nouvelle ligne dans l'encart Mobile Station.

Cliquez sur le serveur pour afficher les détails et pouvoir modifier l'adresse IP et le port.

Informations sur le serveur

Connecter Agilitest à un mobile

Il existe une connexion entre Mobile Station et Agilitest qui permet à Agilitest de savoir quels appareils (y compris les tablettes) sont connectés à Mobile Station.

Une fois que le serveur Mobile Station est configuré, ouvrez un nouveau canal.

Démarrer la ligne d'action canal à Ailitest

Ensuite, sélectionnez "Application mobile" dans le choix des applications (icône du téléphone dans le coin supérieur droit).

Bouton de sélection de l'application mobile

Agilitest ouvrira une pop-up pour entrer l'adresse IP et le port du téléphone. Vous pouvez les entrer manuellement, ou sélectionner un serveur connecté à Mobile Station, comme présenté ci-dessus.

Entrez l'adresse IP du téléphone ou sélectionnez un serveur.

Explorateur mobile

Cliquez sur le bouton "Découvrir" pour ouvrir la fenêtre mobile et ses applications.

Bouton de découverte dans l'explorateur mobile

Celui-ci affichera les applications installées dans le téléphone ainsi qu'un ensemble d'informations accompagnées d'un visuel de téléphone qui n'est pas forcément représentatif de son apparence réelle mais qui a pour but de différencier un Android d'un iOS.

Dans la liste des applications du téléphone, sélectionnez celle que vous voulez tester, puis cliquez sur "Ok".

Une fois que vous avez fait cela, vous pourrez voir que le canal a été modifié avec les nouvelles informations, puis cliquez sur le bouton exécuter pour ouvrir l'application.

Démarrer canal action ouvrir une application mobile

Conditions requises pour connecter un ordinateur Android

Pour Android, vous devez configurer votre mobile en mode développeur.

Consultez la documentation de Gitlab pour configurer votre appareil au préalable :

https://gitlab.com/actiontestscript/mobile/mobile-station#android-testing

Aller à la page "Aide"en haut à droite de l'éditeur

menu d'aide

Cliquez sur le lien "ATSMobileStation" correspondant à votre système d'exploitation (Windows ou MacOS).

liens de téléchargement

Exécutez le paquet téléchargé pour installer localement ce module de détection des appareils mobiles.

Utilisation unique de Mobile Station

Du côté MobileStation, vous verrez un cadenas apparaître à côté du mobile dans lequel les actions sont exécutées. Cela signifie que ce mobile est lié à cet ordinateur utilisant Agilitest, donc si une autre personne utilise Agilitest sur un autre ordinateur et souhaiterait utiliser ce mobile un message d'erreur apparaîtra pour informer que le téléphone est déjà utilisé.

Pour libérer le téléphone et arrêter son utilisation dans Agilitest, il suffit de fermer le canal de votre script.

Exécution Mobile Station

Mobile Station vous permet d'exécuter des tests sur des appareils mobiles et des tablettes via ATS ou directement via Agilitest. Les tests peuvent être effectués sur Windows, où seul Android peut être exécuté, ou sur MAC où il est possible d'exécuter à la fois Android et iOS. Il existe deux façons de se connecter aux appareils mobiles :

  • Par connexion Wifi, sauf pour les appareils iOS et les tablettes.
  • Par connexion USB

Voici un schéma montrant le système d'exécution Mobile Station

Ouvrir une application mobile

Voici un exemple de test mobile exécuté sur un MAC. Agilitest est ouvert avec un script déjà rempli et Mobilestation fonctionne avec un Iphone branché.

La procédure de test suit les mêmes principes qu'un test Web.

Tout d'abord, ouvrez un canal,

canal commencer à agir

Lorsque vous souhaitez utiliser l'outil de capture, un rendu visuel de votre téléphone s'ouvre sur votre écran.

l'application calculatrice s'ouvre avec l'action de démarrage canal

Capture d'un élément

Pour capturer un élément, le système est le même que pour les autres formes de tests (web, desktop, etc...).

Appuyez sur la touche CTRL de votre clavier pour ouvrir la fenêtre parent de l'élément capturé et de ses attributs.

capture d'un élément dans l'application calculatrice

Lorsque la capture est ouverte, il est également possible d'interagir directement sur les éléments de l'application en appuyant sur la touche Shift de votre clavier.

Boutons spécifiques à Mobile Station

Les tests mobiles sont très similaires aux tests effectués sur d'autres applications. Toutefois, deux boutons sont spécifiques à Mobile Station :

  • Bouton "Accueil"

Il apparaît au centre, en bas du visuel du téléphone. Il sert de bouton d'accueil que l'on trouve sur les téléphones physiques. En cliquant dessus, la page d'accueil du téléphone apparaît.

Bouton d'accueil de l'appareil

  • Bouton "Rafraîchir"

Il apparaît en haut du visuel du téléphone. Ce bouton sert à réinitialiser la capture si elle rencontre des problèmes. Il est utilisé pour renforcer la mise à jour.

Bouton d'actualisation de l'appareil

Sauvegarde des paramètres

Vous pouvez enregistrer un paramètre pour lancer l' application mobile de votre choix dans vos paramètres ATS .

Cliquez sur l'onglet "Paramètres"dans le coin supérieur droit.

bouton de réglage

Cliquez sur le bouton "Editer la configuration" pour ouvrir le fichier .atsProperties dans votre éditeur de texte par défaut.

bouton d'édition de la configuration

Vous pouvez ensuite ajouter vos paramètres dans le fichier de configuration en nommant l'application et en ajoutant l'URL de l'application concernée.

Exemple :

<mobiles><mobile><name>Betclic</name>

<url>mobile://192.168.0.39:8080/sport.android.betclic.fr</url>

<waitAction>100</waitAction></mobile></mobiles>

exemple

Mobile Station et Intégration Continue

L'intégration continue permet le déploiement d'une application mobile développée en dehors de Mobile Station via une API Rest.

Schéma d'intégration continue avec la station mobile

L'application est envoyée à la Mobile Station à l'aide d'une Rest API. La Mobile Station l'installe ensuite sur les appareils afin que l'application puisse être exécutée et testée avec un script ATS via USB ou WiFi.

Il existe trois stratégies différentes pour mettre en œuvre l'intégration continue :

Stratégies de mise en œuvre de l'intégration continue

  1. L'intégration continue du testeur lance l'intégration continue du développeur d'applications
le CI du testeur lance le CI du développeur

Avec son intégration continue, le concepteur de tests déclenche l'intégration continue du développeur d'applications qui va générer une application à partir du code source. Cette application sera envoyée à Mobile Station qui l'installera sur les appareils afin de la rendre disponible pour les tests. (Lien vers la vidéo du schéma animé : https://youtu.be/ISN874CZxxI)

       2. L'intégration continue du développeur d'applications lance l'intégration continue du testeur

Le CI du développeur lance le CI du testeur

L'intégration continue du développeur de l'application va générer l'application à partir du code source. Elle sera ensuite envoyée à la Station Mobile et installée sur les appareils. Avec l'intervention de l'intégration continue du développeur de tests, les tests seront générés via le code source ce qui permettra l'exécution des tests depuis la Mobile Station. (Lien vers la vidéo du schéma animé : https://youtu.be/5ui7ZPKnOKQ)

       3. Le développeur de l'application et le testeur travaillent de manière asynchrone.

travail asynchrone entre le développeur et le testeur

Le développeur d'applications et le concepteur de tests peuvent exécuter leurs tests de manière asynchrone. Avec son intégration continue, le développeur d'applications installera son application sur ses appareils via la Mobile Station. Avec l'intégration continue du concepteur de tests, l'application installée sur la Mobile Station et sur ses appareils peut être testée. (Lien vers la vidéo du schéma animé : https://youtu.be/CyMW2N2tjiE)

Vous avez encore besoin d'aide ?
Contacter le support

Créer un dépôt Git hébergé par Bitbucket

Cet article présente la gestion des projets Agilitest avec un dépôt Git hébergé sur Bitbucket.

Qu'est-ce que Bitbucket ?  

Bitbucket est un service proposé par la société Atlassian, qui permet d'héberger et de versionner des fichiers à l'aide des technologies suivantes Git. Il est bien connu dans le monde de l'entreprise, facile à utiliser, et permet une intégration parfaite avec Jira, un système de suivi bug développé par la même société mère.
La gestion des dépôts Git se fait à partir de l'interface web du service SaaS, mais un logiciel de bureau est disponible pour effectuer les opérations de mise à disposition et de livraison des fichiers. Il s'agit de Sourcetree.
Pour les besoins de cet article, le logiciel Sourcetree logiciel a été configuré en anglais pour plus de clarté sur les termes originaux de Git : Stage, Commit, Pull, Push, Fetch, Branch, Merge, Stash. Par ailleurs, tous les termes de l'application ne sont pas traduits de l'anglais.

Pour les besoins de cet article, il est donc nécessaire de disposer d'un compte utilisateur Bitbucket, et du logiciel Sourcetree en mode connecté. La connexion de Sourcetree avec le compte Bitbucket peut se faire via les identifiants de connexion, ou via des jetons d'API qui sont créés sur le back-office Bitbucket dans Paramètres personnels > Mots de passe de l'application > Créer des mots de passe de l'application.
SourceTree a été configuré pour utiliser l'installation "système" de Git et non la version intégrée qui peut parfois causer des problèmes d'authentification pour les clones de référentiel.

Mise en place d'un projet Agilitest géré avec Git  

La première étape consiste à créer un dépôt Git depuis l'interface web de Bitbucket ou depuis le logiciel Sourcetree en mode connecté.

Créer un référentiel vide  

Depuis le logiciel, allez dans l'onglet Local, cliquez sur le bouton Créer.
Saisissez le chemin d'un dossier vide destiné à contenir le référentiel sur le disque dur local, ainsi que le nom du référentiel (ici référentiel-test). Cochez "Create Repository On Account " et sélectionnez le compte Bitbucket sur lequel synchroniser le référentiel (Account, Owner, Description). Cochez"Is Private" pour éviter de publier votre contenu en open-source à la vue de tous.  

Figure 1 : Création d'un référentiel dans Sourcetree

Mise en place d'un projet Agilitest dans le référentiel  

En fonctionnement local, sans Git, Agilitest vous permet de créer de nouveaux projets. Ces projets sont alimentés automatiquement avec une arborescence par défaut qui comprend les libs, src, target, etc.  

Mais dans ce cas, nous avons commencé par créer le dossier vide du projet (pour en faire un référentiel). Nous devons donc copier les éléments d'un projet vide dans notre dossier de référentiel Git (ici, référentiel-test). Une façon de le faire est de créer le projet repository-rest-2 dans Agilitest et de copier et coller son contenu dans repository-test. Faites attention cependant à mettre à jour les fichiers README.md, .atsProjectProperties, et pom.xml pour adapter le nom correct du projet.

Une autre façon est de créer d'abord le projet Agilitest, de déplacer son contenu ailleurs, d'initialiser le dépôt Git, de remettre son contenu, puis de Stage et Commit le dépôt.

Premier engagement  

À cette étape, nous sommes au niveau zéro du projet et prêts à commencer. Il est temps de s'engager.  

Pour ce faire, allez à Sourcetree : Unstaged files > Stage all puis cliquez sur le bouton Commit en bas à droite. Veillez à ne pas confondre ce bouton avec celui qui se trouve en haut à gauche.

Figure 2 : Fichiers mis en scène pour Commit et Push

Le projet est donc "instantané" dans son état initial et, dans le futur, il sera possible de revenir à cet état. Pour synchroniser le dépôt et ses commits sur le serveur Bitbucket, cliquez sur l'icône"Push".  

Une question qui revient souvent est de savoir à quelle fréquence il faut commiter. Pour répondre à cette question, voyons la notion de commits atomiques, qu'il est conseillé de respecter :  

  • Un commit ne concerne qu'une seule tâche : un test maintenance, une évolution d'un test ATS , un nouveau scénario ATS , etc.  
  • Un commit ne rompt pas la cohérence du référentiel en empêchant l'exécution des tests ou de la campagne.  
  • Un commit doit être associé à un message concis et explicite.

Possibilités offertes par cette configuration  

Les possibilités offertes par ce dépôt Git Bitbucket sont les mêmes que pour tout dépôt Git :  

  • Versioning des projets Agilitest et en particulier des fichiers .ats .  
  • Le travail collaboratif entre plusieurs profils d'automatisation sur un même projet, et en particulier la notion de Fusion.  
  • Synchronisation des dossiers du projet entre le référentiel Git, les rôles d'automatisation et le serveur d'exécution. Git est donc un pilier de la chaîne CI/CD.  

Notez que la conservation des rapports est généralement gérée par Jenkins, avec la conservation des artefacts de chaque lancement de tâche (#1, #2 etc), plutôt que par le versionnement des fichiers de rapport d'exécution.

Vous avez encore besoin d'aide ?
Contacter le support

Dépôt Git pour les constructions Jenkins

Comment utiliser un projet d'un dépôt Git comme source de projet Agilitest pour exécuter des tâches Jenkins ?

Dans ce guide, nous allons expliquer comment utiliser un projet d'un dépôt Git comme source de projet Agilitest pour exécuter des tâches Jenkins. À chaque construction, Jenkins effectuera d'abord le Clone du dépôt Git, puis procédera à l'exécution des scripts ATS configurés dans la suite de tests, et enfin générera les rapports éventuels.  

Préparation du projet Agilitest  

Pour les besoins de ce guide, le dépôt Git est hébergé chez Bitbucket et a été initialisé avec un nouveau projet Agilitest vide en suivant les étapes de la documentation Configuration d'un dépôt Git hébergé par Bitbucket pour les projets Agilitest.  

Ensuite, le projet Agilitest (ici, repository-test) a vécu à travers les commits, avec l'accumulation de ATS scripts, de suites de tests et de fichiers de données.  

Création de la tâche Jenkins  

Le serveur Jenkins doit être démarré et connecté à Agilitest depuis le menu Outils. Il peut s'agir d'un serveur Jenkins local installé par Agilitest, ou d'un serveur distant géré par votre administrateur.  

Il est alors temps de créer un nouveau job Jenkins à partir du menu d'exécution d'Agilitest (en cliquant sur le bouton "Gérer les suites d'exécution du projet" dans la zone en accordéon"Explorateur de projets").

Figure 1 : bouton "Gérer les suites d'exécution du projet" sous forme de roue dentée

Passez ensuite en mode "Intégration Jenkins" et cliquez sur"Créer une nouvelle tâche". Notez qu'Agilitest a déjà reconnu la présence d'un dépôt Git dans le dossier du projet avec son sous-dossier .git caché. Dans notre exemple, nous laissons la branche */master par défaut. Ensuite nous glissons et déposons la suite de test désirée dans la zone "Liste des Suites".

Figure 2 : Création d'une nouvelle tâche Jenkins à partir d'Agilitest avec un projet initié avec Git

Après validation, le nouveau job Jenkins apparaît dans Agilitest comme ceci.

Avant de lancer le build, il est essentiel de préparer le projet Agilitest à supporter les opérations Push et Fetch qui seront effectuées respectivement par le client Git et le serveur Jenkins. L'opération par défaut de Git n'est pas de synchroniser les dossiers vides, pourtant certains d'entre eux sont essentiels à Agilitest. Une solution de contournement consiste à déposer un fichier .gitkeep vide dans chaque dossier vide du projet Agilitest. Ces fichiers forceront Git à synchroniser les dossiers (vides) qui les contiennent.

  • ./target/ats-output/.gitkeep
  • ./target/classes/assets/ressources/lang/.gitkeep
  • ./target/classes/assets/resources/certs/.gitkeep
  • ./target/classes/assets/ressources/images/.gitkeep
  • ./target/classes/assets/data/.gitkeep
  • ./target/report/.gitkeep
  • ./libs/.gitkeep
  • ./src/main/java/.gitkeep
  • ./src/main/scripts/.gitkeep
  • ./src/main/ats/subscripts/.gitkeep
  • ./src/assets/data/.gitkeep
  • ./src/assets/resources/lang/.gitkeep
  • ./src/assets/resources/certs/.gitkeep
  • ./src/assets/resources/images/.gitkeep

Configuration de Jenkins  

Tout d'abord, Git doit être installé sur la machine qui exécute Jenkins. Le serveur Jenkins doit avoir le fichier Plugin Git. Ensuite, l'exécutable git.exe doit être configuré dans le répertoire de Jenkins. Manage Jenkins > Global Tool Configuration > Git > Path to Git executable. Dans ce cas, nous avons défini C:\Program Files\Git\bin\git.exe.

Figure 3 : Configuration globale des outils (ici, Git) dans Jenkins

Voyons à quoi ressemble la tâche Jenkins nouvellement créée dans le projet de référentiel de test depuis le back-office web.

Figure 4 : Configuration d'un travail à partir du back-office de Jenkins

L'URL du dépôt Git est reconnue. Il est important de configurer l'authentification au dépôt Git dans Jenkins. Ici, nous avons utilisé un compte Bitbucket (paul-chevalier) et un jeton API créé à partir du menu "App passwords" dans l'interface d'administration de Bitbucket.

On peut initialiser le dépôt Git dans SourceTree avec la syntaxe https://paul-chevalier:my-app-password@bitbucket.org/paul-chevalier/repository-test.git. Le mot de passe de l'application figure dans l'URL, donc dans ce cas, il n'est pas nécessaire de configurer les informations d'identification dans Jenkins. Pour ce faire, SourceTree peut avoir besoin d'adresser le System git.exe au lieu du Embedded gitlib.

Lancement d'une construction  

Lors du lancement d'un build sur le job Jenkins ainsi configuré, vous pouvez suivre l'opération de Clone du dépôt Git orchestré par Jenkins dans la sortie standard(icône SortieConsole). Le nom du dernier commit apparaît ici.

Building in workspace
C:\Users\paulc\.agilitest\work\jenkins\workspace\job\com.functional.repository-test\newJobJenkins
[…]
Fetching changes from the remote Git repository
>C:\Program Files\Git\bin\git.exe config remote.origin.url https://paul-chevalier@bitbucket.org/paul-chevalier/repository-test.git # timeout=10
Fetching upstream changes from
https://paul-chevalier@bitbucket.org/paul-chevalier/repository-test.git
[…]
>C:\Program Files\Git\bin\git.exe fetch --tags --force --progress --
https://paul-chevalier@bitbucket.org/paul-chevalier/repository-test.git +refs/heads/*:refs/remotes/origin/* # timeout=10
>C:\Program Files\Git\bin\git.exe rev-parse"refs/remotes/origin/master^{commit}" # timeout=10
Checking out Revision f167510d99abb5af2674db52227860cf423869fa(refs/remotes/origin/master)
>C:\Program Files\Git\bin\git.exe config core.sparsecheckout #timeout=10
>C:\Program Files\Git\bin\git.exe checkout -ff167510d99abb5af2674db52227860cf423869fa # timeout=10
Commit message: "Ajout de fichiers .copy manquants"
[…]

En outre, un nouveau menu Git apparaît sur la page Jenkins pour la construction (ici #5).  

A travers cet article et ses pré-requis, nous avons utilisé Git pour relier les postes de travail de l'ingénieur d'automatisation des tests qui utilisent Agilitest et le serveur Jenkins. Notre chaîne d'intégration continue est prête !

Vous avez encore besoin d'aide ?
Contacter le support

Configuration d'un serveur Windows 2016

Dans ce guide, nous allons présenter une méthode étape par étape pour exécuter des tests Agilitest massifs.

Dans ce guide, nous allons présenter une méthode étape par étape pour exécuter des tests Agilitest massifs.

Contexte général  

Le serveur Windows  

Dans le cadre de ce guide, nous avons installé un serveur Windows 2016. Il s'agit d'une version d'entreprise courante, mais la version 2019 fonctionne également, car toutes deux partagent le même noyau que Windows 10.

Ce serveur est une VM virtualisée avec Linux KVM, et le serveur hyperviseur lui-même est hébergé dans un centre de données. Toutes les opérations de configuration se font via le Bureau à distance avec le protocole RDP.  

Lors de l'installation, il est nécessaire de vérifier la version" Windows Server 2016 Standard (User Experience) " avec un environnement graphique. D'abord pour faciliter les opérations d'administration, mais surtout parce que la plupart des tests ATS générés avec Agilitest nécessitent un environnement de bureau.

Deux comptes d'utilisateur ont été créés : worker1 et worker2.  

Installation d'Agilitest  

Agilitest a été installé sur le serveur depuis la session Administrateur dans le dossier C:\Program Files (x86\Agilitest. Cette installation est globale pour tous les utilisateurs, et chacun trouvera un raccourci Agilitest sur son bureau.
Par contre, les dépendances et les fichiers de configuration sont spécifiques à chaque utilisateur concernant les deux dossiers ci-dessous :  

  • C:\Users\Administrator\.actiontestscript  
  • C:\Users\Administrator\.agilitest

Les mêmes dossiers seront créés pour les utilisateurs worker1 et worker2 automatiquement, lors du premier build Jenkins. Il est donc possible d'avoir une configuration particulière du logiciel pour chaque utilisateur. Par exemple, il est possible de modifier la version du navigateur Chrome ou Firefox qui sera utilisée par l'utilisateur worker1 en modifiant le fichier C:\Users\worker1\.actiontestscript\.atsProperties.

Vous pouvez trouver plus d'informations sur la page officielle actiontestscript sur GitHub.  

Installation de Jenkins  

Ligne de commande du service ou de l'utilisateur  

Ici, Jenkins a été installé à partir du programme d'installation .msi pour Windows. Cet installateur propose de configurer un service Windows indépendant, ce que nous avons fait (Type de connexion : exécuter le service en tant qu'utilisateur local ou de domaine) avec l'utilisateur Administrateur.

Il est intéressant de noter que le paquet Java jenkins.war peut ensuite être exécuté en tant que service ou en tant que ligne de commande à partir d'une session utilisateur avec l'environnement de bureau.

Il est également important de mentionner que la façon dont Jenkins est lancé aura des implications sur les builds ATS qui sont exécutés. En mode service, l'exécution d'un test (par exemple le navigateur web Chrome canal) ne génère aucune fenêtre visible sur la session utilisateur, qui peut être fermée ou verrouillée, mais les captures d'écran ATSV seront vides. En mode ligne de commande à partir d'une session utilisateur avec un environnement de bureau, le test générera des fenêtres visibles sur la session utilisateur, et les captures d'écran ATSV fonctionneront.

Quoi qu'il en soit, il est recommandé d'exécuter Jenkins en tant que service, et d'exécuter des suites de tests avec des agents Jenkins dans des sessions utilisateur avec des environnements de bureau. L'agent Jenkins peut être déclaré à l'ouverture de la session avec shell:startup.

Un tutoriel en anglais sur l'autorisation d'un compte utilisateur à exécuter un exécutable en tant que service est disponible ici. Les étapes à suivre sont les suivantes : Outils d'administration > Politique de sécurité locale > Stratégies locales > Attribution des droits d'utilisateur > Ouverture de session en tant que service (NT SERVICE\ALL SERVICES). L'utilisateur Administrateur a été ajouté ici.


Le chemin vers le Java JDK est demandé par le programme d'installation. Java 52 (Java 8) ou 55 (Java 11) sont recommandés par défaut mais il est possible d'utiliser Java JDK 15 en ajoutant l'argument - enable-future-java dans le fichier de configuration Jenkins.xml.

La première connexion au back-office web de Jenkins nécessite la saisie d'un mot de passe contenu dans un fichier texte. Nous avons ensuite installé les plugins recommandés.

À ce stade, le gestionnaire de services Windows doit permettre de démarrer et d'arrêter le service Jenkins. Le type de démarrage automatique permet au service de démarrer dès que le serveur est lancé, avant même qu'un utilisateur ne se connecte.

L'installation de Jenkins a été configurée avec les points suivants :

  • Installation de l'extension Locale pour forcer la langue "en" quelle que soit la langue demandée par le navigateur.  
  • Installation des extensions Jenkins suivantes : TestNG Results Plugin & Test Results Analyzer  
  • Configurer le chemin vers git.exe (voir l'article Utiliser un dépôt Git comme source de projet Agilitest pour les constructions Jenkins)
  • Ajouter l'étiquette ats-executor dans le menu Manage Jenkins > Manage Nodes and Clouds > Built-In Node > Configure.

Dans ce type de configuration, prenez soin d'effectuer un Commit puis un Push de votre projet Agilitest afin que Jenkins puisse exécuter vos mises à jour.


Vous avez encore besoin d'aide ?
Contacter le support

Lancement de tests à partir d'un pipeline Azure DevOps

Il existe de nombreuses façons d'exécuter des tests ATS sur Azure DevOps. Voici un bref aperçu de la solution que nous avons mise en œuvre, qui pourrait vous donner quelques conseils et astuces pour mettre en œuvre la vôtre.

Pour fonctionner, Azure Pipeline s'appuie sur deux types d'agents :

1. Mise en place de l'environnement

Vous pouvez installer l'agent Azure Pipeline sur une machine Linux, MacOS, Windows ou Docker. Dans cet article, nous allons détailler les étapes pour utiliser un agent sur une machine Windows 10. Vous pouvez vous référer à la documentation de Microsoft pour les spécificités des autres plateformes.

Comment télécharger et installer l'agent

Pour commencer, connectez-vous à Azure DevOps et cliquez sur "User settings" puis sur "Personal access tokens":

Suivez les étapes suivantes :

  • Créez un nouveau jeton en sélectionnant l'autorisation Pools d'agents (lecture, gestion).
  • Revenez à la page d'accueil d'Azure DevOps et cliquez sur Organization settings en bas à gauche.
  • Cliquez sur Pools d'agents et sélectionnez le pool par défaut ou créez un nouveau pool auto-hébergé.
  • Cliquez sur Nouvel agent et suivez les instructions de la page pour télécharger votre agent.
  • Dézippez l'archive téléchargée sur la machine où vous voulez installer l'agent et exécutez config.cmd.
  • Suivez le script pour configurer votre agent, y compris le jeton créé précédemment. Lorsque vous avez le choix entre un mode interactif ou en tant que service, choisissez le mode interactif sinon vous ne pourrez pas lancer les tests ATS .
  • Une fois votre agent configuré, exécutez run.cmd pour le démarrer.
  • Pour plus d'informations sur le téléchargement et l'installation d'un agent Azure Pipeline : https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-windows?view=azure-devops

Réglage de la machine

Une fois l'agent installé, plusieurs éléments sont nécessaires au bon fonctionnement des tests ATS :

  • Le dossier .actiontestscript : ce dossier doit être présent à la racine du dossier de l'utilisateur qui exécutera l'agent. Il est créé automatiquement et mis à jour lors du lancement d'Agilitest. Si vous ne souhaitez pas installer Agilitest sur la machine où l'agent est installé, vous pouvez copier et coller ce dossier depuis un autre ordinateur où Agilitest est installé. Dans le futur, il sera possible de mettre à jour ce dossier via npm et de l'automatiser dans le pipeline.
  • Le JDK doit être installé. Actuellement Agilitest a besoin de JDK version 11 ou plus.
  • Maven doit également être installé, vous pouvez le télécharger ici : https://maven.apache.org/download.cgi

2. Créer un nouveau pipeline sur Azure DevOps

Sur Azure DevOps, cliquez sur l'onglet "Pipelines"

Cliquez ensuite sur "Nouvelle canalisation" et indiquez où se trouve le code de votre projet Agilitest

Suivez les instructions pour connecter le pipeline Azure.

Vous pouvez choisir d'utiliser un pipeline préconfiguré pour Maven.

La sélection d'un projet maven permettra à AzuredevOps de gérer directement les dépendances et les bibliothèques externes requises.

  • Vous pouvez également démarrer à partir d'un pipeline vide et ajouter une tâche Maven.
  • Dans la section pool, changez le type "vmImage" en "name" et entrez le nom du pool que vous avez créé plus tôt.

Modifier la tâche Maven :

  • Changer la valeur de "goals" en "clean test".
  • Changer la valeur de "javaHomeOption" en "Path"
  • Ajouter une propriété "jdkDirectory" et spécifier le chemin d'accès au JDK sur votre machineo Supprimer les propriétés "jdkVersionOption" et "jdkArchitectureOption".
  • Ajouter une propriété "mavenVersionOption" avec la valeur "Path"
  • Ajoutez une propriété "mavenDirectory" et spécifiez le chemin de Maven sur votre machine
  • Ajouter une propriété "mavenSetM2Home" avec la valeur "true"

Votre fichier YAML devrait ressembler à ceci :

Pour plus d'informations sur la tâche Maven : https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/maven?view=azure-devops

Si vous cliquez sur Save and run, le fichier YAML sera ajouté à votre code source et vos tests seront exécutés selon la configuration de votre fichier pom.xml.

Vous avez encore besoin d'aide ?
Contacter le support

Bienvenue au centre de support d'Agilitest

Voici la documentation complète sur Agilitest et ses fonctionnalités.

De la configuration d'Agilitest à l'utilisation de ses fonctionnalités les plus avancées, notre documentation couvre le plus large éventail de sujets.

Si vous ne trouvez pas ici les réponses à vos questions sur Agilitest, n'hésitez pas à contacter notre équipe d'assistance.

Vous avez encore besoin d'aide ?
Contacter le support

Exigences en matière de matériel et de logiciels

Agilitest est une application client lourd fonctionnant sur les systèmes d'exploitation Windows.

Agilitest gère les projets de test qui sont accessibles sur le poste de travail, via un accès réseau, ou tout autre système de fichiers accessible depuis l'explorateur Windows du poste de travail.

Vous pouvez créer des projets de test, créer des tests, tester des campagnes et les rejouer à partir de son client Agilitest.

Les tests sont générés dans un langage open-source ATS ou ActionTestScript. Ce standard est compatible avec les standards Maven et TestNg qui permettent un déploiement plus large des environnements de test d'intégration continue.

Pour plus d'informations sur ATS: www.agilitest.com/documentation/what-is-ats-actiontestscript-and-its-link-to-agilitest

Conditions préalables à l'utilisation d'Agilitest

Besoins en logiciels

Systèmes supportés

L'installation du client Agilitest nécessite l'accès à un système Windows récent, au minimum :

  • Windows Server 2016
  • Windows 10 ou 11

Installation d'Agilitest

‍Agilitest est fourni sous la forme d'un fichier .zip à décompresser dans un répertoire.

Il est nécessaire d'avoir un accès en lecture-écriture à ce répertoire, et que l'opération de décompression n'altère pas la structure des fichiers nécessaires au fonctionnement d'Agilitest.

Il est important de vérifier les droits d'accès au répertoire cible, ainsi que le comportement des logiciels antivirus, Windows Defender ou autres anti-malware qui pourraient avoir un impact sur le bon déroulement des opérations.

Lancement d'Agilitest et vérification de son bon fonctionnement

Les logiciels suivants sont nécessaires au bon fonctionnement de la solution Agilitest :

  • Installation de Java JDK 17 au minimum (Jdk 20 recommandé). Vous pouvez décider de configurer votre propre JDK ou simplement demander à Agilitest de vous fournir une version fonctionnelle (nous utilisons OpenJDK en version 21).
  • Installation de .NET Framework 4.8

Pour vérifier le bon fonctionnement d'Agilitest, vous devez lancer l'application Agilitest.exe située à la racine du répertoire d'installation. Lors du premier lancement, Agilitest propose d'installer ou de configurer un JDK, ainsi que de télécharger la dernière version des bibliothèques ATS qu'il utilise pour son fonctionnement.

Après cette opération, vous pourrez créer des projets de test et automatiser des tests à partir de votre poste de travail.

Pour en savoir plus sur l'installation et les paramètres d'Agilitest : www.agilitest.com/documentation/quick-start-with-agilitest

🔸 Attention

Le positionnement de variables d'environnement par certains outils peut avoir un impact sur le bon fonctionnement d'Agilitest (par exemple : JAVA_TOOLS_OPTIONS).

Accès au SUT (système sous test)

En fonction des technologies sur lesquelles vous souhaitez effectuer des tests, vous devrez déployer un certain nombre de logiciels complémentaires à Agilitest.

Technologies du Web

L'éditeur Agilitest prend en charge presque tous les navigateurs fonctionnant sous Windows dans des versions relativement récentes pour lesquelles il existe un site Web driver:

  • Chrome
  • Firefox
  • Microsoft MSEdge
  • Opéra
  • Courageux
  • Chromium / JXBrowser (Besoin du support technique d'Agilitest)

Par défaut, c'est la dernière version qui est prise en charge. Si vous avez besoin d'effectuer des tests sur une version spécifique, vous pouvez consulter cette documentation ou contacter l'équipe d'assistance : www.agilitest.com/documentation/version-management

Services Web

Agilitest possède son propre navigateur interne et graphique qui vous permet d'automatiser des services web. Il n'est pas nécessaire d'installer quoi que ce soit pour que cela fonctionne.

Android

Agilitest prend en charge les versions récentes d'Android > 5.0.

Prise en charge des mobiles physiques.

Support des émulateurs (Android Studio, Genymotion...)

Le fonctionnement d'Agilitest sous Android nécessite l'installation d'ATSMobileStation qui permet de faire le lien entre les mobiles et un processus ATS qui les contrôle.

Plus d'informations sur : https://www.agilitest.com/documentation/mobile-station

iOS

Agilitest supporte les versions récentes d'iOS > v12.

Prise en charge des mobiles physiques.

Prise en charge des émulateurs.

En fonction de la version d'iOS testée, Xcode devra être dans une certaine version. Pour en savoir plus, vous pouvez consulter ce tableau récapitulatif : https://developer.apple.com/support/xcode/

‍Le fonctionnement d'Agilitest sous iOS nécessite l'installation d'ATSMobileStation qui permet de faire le lien entre les mobiles et un processus ATS qui les contrôle.

Plus d'informations sur : https://www.agilitest.com/documentation/mobile-station

SAP

Le support des technologies SAP nécessite une version spécifique d'Agilitest. Veuillez nous contacter si ce n'est pas le cas.

Le support des frameworks web SAP, tels que FIORI, Neptune ou basés sur SAPUI5, est offert de manière native en utilisant une connexion web avec un navigateur.

Pour les tests technologiquesSAP Guide : L'ordinateur sur lequel les tests sont enregistrés ou rejoués doit disposer d'un accès SAPLogon.

En outre, il est nécessaire d'activer l'automatisation à la fois sur le serveur SAP et sur le client SAP Gui.

Exigences en matière de matériel

Voici la configuration matérielle requise pour faire fonctionner Agilitest.

Systèmes supportés

L'exécution du client Agilitest nécessite un ordinateur personnel sous le système d'exploitation Windows.

Ordinateur personnel

Le matériel minimum recommandé pour l'utilisation d'Agilitest sur votre ordinateur client est le même que pour le .NET Framework 4.8.

  • Processeur: 2 GHz au minimum
  • Mémoire: 8 GB mini, 16 GB pour le confort.
  • Java JDK: 300 Mo
  • Apache Maven : 10 Mo
  • Selenium + ATS Bibliothèques: 40 Mo
  • Pilotes de sites web et de systèmes: 26 Mo

L'installation globale, si tout est installé, représente environ 500 Mo d'espace disque.

Écran

Agilitest est destiné aux professionnels de la création et maintenance de tests fonctionnels automatisés. Un minimum de deux écrans est indispensable pour que les conditions soient bonnes.

Une bonne résolution d'écran est nécessaire, au moins 1280x1024, afin de visualiser l'application sans défilement, ou avec un défilement limité et Agilitest dans le même écran.

💡 Conseil

Pour faciliter l'utilisation, nous recommandons d'utiliser deux écrans. Toutefois, un seul écran suffisamment grand peut suffire. Agilitest a une largeur de 1500 px et une hauteur de 1000 px, vous devez donc en tenir compte, ainsi que de la taille de l'application que vous voulez tester, afin que les deux puissent être affichées de manière lisible sur l'écran.

Appareils mobiles

Pour les tests mobiles, toutes les configurations récentes des systèmes iOS et Android sont prises en charge.

Réseau et applications complémentaires

Accès au réseau

Afin de mettre à jour régulièrement votre version d'Agilitest, vous devez disposer d'un accès réseau complet à ces sites :

htttps://agilitest.app

https://actiontestscript.org

L'opération de mise à jour a lieu au lancement d'Agilitest et est entièrement automatique.

Si votre système n'a pas accès à l'internet, nous avons des solutions permettant à Agilitest de fonctionner en mode autonome qui n'accède à aucun système externe.

Pour en savoir plus : www.agilitest.com/documentation/agilitest-standalone

ATS exécutions

Agilitest et ATS sont deux choses différentes.

Tous deux peuvent s'interfacer avec un ensemble d'outils open-source, CI/CD, DEV/OPS, vous permettant de gérer des campagnes de tests ou de rejouer des tests.

Nous fournissons un ensemble d'outils préconfigurés pour déployer facilement la technologie ATS (lanceurs, environnements Docker, etc.).

ATS peut être exécuté sous Windows, MacOS et Linux 2018+.

Vous trouverez plus d'informations sur : www.actiontestscript.com

Vous avez encore besoin d'aide ?
Contacter le support

Émulateurs Genymotion

Agilitestet et ATS, grâce au logiciel gratuit ATSMobilestation, téléchargeable ici, vous permettent d'utiliser les émulateurs Android de Genymotion Desktop.

Téléchargez et installez la solution Genymotion

La condition préalable pour pouvoir le faire est d'avoir téléchargé et installé la solution Genymotion et d'avoir installé un émulateur.

Par défaut, la solution Genymotion Desktop vous permet de lancer des émulateurs pour votre usage personnel. Cela peut vous permettre d'effectuer des tests avant d'opter pour une version payante.

L'avantage d'utiliser cette solution est qu'elle est parfaitement intégrée à Agilitest et ATS, et que vous pourrez très facilement lancer une grande variété d'émulateurs Android :

  • Différents formats (téléphone, petite tablette, grande tablette)
  • Version Android
  • Densité de l'écran
  • Taille de l'écran en pixels
  • Source :

Bureau Genymotion

Il vous suffit ensuite de lancer un émulateur :


Démarrer un émulateur Samsung Galasy S7 dans Genymotion
Emulateur Galaxy S7 Genymotion

Ensuite, vous devez lancer l'ATSMobilestation, qui indique les terminaux qui sont connectés, vous avez plusieurs possibilités :

Dans notre cas, l'émulateur Genymotion Desktop apparaît directement dans la liste des terminaux connectés au PC :

ATS mobilisation - Agilitest

Il suffit de l'utiliser pour effectuer un test mobile.

Dans l'image ci-dessous, vous pourrez identifier : la solution Genymotion Desktop ayant lancé un émulateur Android, Agilitest et ATSMobilestation lancés et effectuant une opération de capture sur une touche de la calculatrice.


Vous avez encore besoin d'aide ?
Contacter le support

Cloud Genymotion

Agilitestet et ATS, grâce au logiciel gratuit ATSMobilestation, téléchargeable ici, vous permettent d'utiliser des émulateurs Android dans le cloud Genymotion.

La condition préalable est de disposer d'un compte cloud Genymotion.

Au lancement, l'ATSMobilestation montre les appareils connectés :

Dans notre cas, nous avons un mobile physique OnePlus connecté par USB et contrôlé par le réseau Wifi.

Un mobile physique est connecté par Wifi

Configuration de votre compte Genymotion

ATSMobilestation gérera votre compte Genymotion, lancera des émulateurs et effectuera des tests sur ceux-ci en utilisant le langage de script Python gmsaas.

Cliquez sur l'icône "engrenage" pour ouvrir le menu des paramètres :

Menu paramètres d'ATSMobilestation

Vous devez installer Python, puis saisir son chemin dans le champ "Dossier Python".

Cliquez sur "Installer les composants", ATSMobilestation va installer les composants gmsaas :

Installation de gmsaas

Entrez vos informations d'identification Genymotion :

Renseignez vos identifiants

L'installation est terminée !

Cliquez sur "Terminer".

Lancer un émulateur Genymotion dans le cloud

L'ATSMobilestation affiche alors un nouvel onglet, avec la liste des terminaux Genymotion auxquels vous pouvez avoir accès :

Liste des appareils Genymotion dans ATSMobilestation  

Cliquez sur le + vert pour lancer un émulateur dans le cloud, l'émulateur s'installe alors...

Installer un Galaxy S7

... et s'affiche dans la liste des émulateurs disponibles. L'icône "chaîne" indique que l'émulateur est lié à votre instance d'ATSMobilestation. Les émulateurs disponibles sur le même compte Genymotion mais sur d'autres PCs/Serveurs n'ont pas de chaîne.

L'appareil est installé

Vous pouvez également les compter dans l'onglet "Genymotion cloud" :

3 appareils Genymotion sont lancés

Le nouveau terminal est disponible dans la liste des terminaux connectés :

Connecté et prêt à fonctionner

Utiliser le Genymotion

Vous pouvez l'utiliser dans Agilitest pour écrire ou lancer des tests :

Ouverture d'un canal sur un terminal Genymobile dans le cloud
Effectuez un test sur un appareil Genymobile


Vous avez encore besoin d'aide ?
Contacter le support

Émulateurs Android

Tout d'abord, vous devez être familiarisé avec l'utilisation de l'ATSMobilestation, qui centralise tous les terminaux mobiles accessibles depuis un PC/serveur donné.

ATSMobilestation peut se connecter à vos terminaux physiques, avec des terminaux mobiles dans le cloud (via la solution Genymotion, qui est également disponible sur le bureau), mais aussi réaliser des tests sur des terminaux Android émulés installés sur votre machine.

Il en existe plusieurs, et nous ne disposons pas d'une liste exhaustive des terminaux supportés par ATSMobilestation, en général, un accès à adb est suffisant pour que nous les supportions.

Pour la démonstration, nous allons utiliser un émulateur fourni par Google avec la suite Android Studio

Installer Android Studio et lancer un émulateur

En cliquant sur le lien précédent, vous pourrez télécharger et installer Android Studio. Il n'y a pas de difficulté particulière, assurez-vous simplement que l'installation de "Android Virtual Device" est prise en compte.


Installation d'Android Studio

A la fin de l'installation, lancez Android Studio et sélectionnez le menu "Tools" et "AVD Manager" :

Lancement de AVD Manager

Cliquez sur "Créer un dispositif virtuel".

Sélectionnez ensuite un type d'appareil, la version d'Android sur laquelle vous voulez qu'il fonctionne et téléchargez l'image système.


Sélection d'une configuration Android

Terminez ensuite le téléchargement et la configuration de votre appareil, vous devriez alors le voir apparaître dans votre liste de terminaux disponibles :

 Liste des appareils Android installés

Ensuite, il suffit de cliquer sur le bouton "Play" à droite, et d'attendre que le système se lance.

Lancer ATSMobileStation

Lancez ensuite ATSMobilestation qui repérera automatiquement les émulateurs Android lancés, et vous devriez voir votre émulateur apparaître dans la liste :


L'émulateur Android repéré par ATSMobilestation

Le bouton de droite vous permet de lancer l'émulateur, de l'arrêter, etc.

Une fois lancé, il apparaît dans la liste des "Périphériques connectés", dans l'image ci-dessous vous verrez un émulateur lancé sur votre PC, et un téléphone connecté à votre PC : les deux sont accessibles par ATS et Agilitest.

Liste des appareils connectés

Lancer Agilitest

Ensuite, il vous suffit de lancer Agilitest et vous devriez voir apparaître votre émulateur dans la liste des terminaux accessibles pour effectuer un test :

Sélection d'un appareil dans Agilitest

Il vous suffit ensuite de sélectionner une application à tester.


Sélection d'une application à tester


Agilitest en mode capture sur l'émulateur Android Studio
Vous avez encore besoin d'aide ?
Contacter le support

Automatisation des archives HTTP

Agilitest vous permet d'automatiser la création de fichiers d'archives HTTP (HAR) qui seront utiles pour analyser les flux réseau pendant l'exécution d'un test.

Format HAR

Le format HAR permet d'enregistrer le détail des Urls visitées et la chronologie de leur chargement lors d'une requête HTTP.

Il enregistre les informations relatives à l'ensemble des pages, fichiers et images qui sont téléchargés par un navigateur lorsque vous visitez une URL.

Vous pouvez ensuite utiliser un logiciel de visualisation du fichier .HAR qui vous permettra d'afficher cette requête sous forme de graphique.

Vous pouvez obtenir ce résultat :

Plus d'informations sur le format HAR : https://en.wikipedia.org/wiki/HAR_(file_format)

Comment cela fonctionne dans Agilitest

Le format HAR enregistré par Agilitest implique plus que la visite d'une seule URL, il peut enregistrer toutes les performances d'un test logiciel et toutes les URL qui ont été visitées par le test, et il peut le faire action par action.


Nous avons une action ATS spécifique à cette intégration, vous pouvez mettre des filtres URL, démarrer et arrêter l'enregistrement également.

Activation du mode performance


Le mode performance n'est pas activé par défaut dans Agilitest.

To do this you will need to modify your .atsProperties file and insert an XML element <performance> inside <execute>:

<?xml version="1.0" encoding="utf-8">
<execute>
  ...
<performance>
<idle>4</idle>
<blacklist>
<url>https:\/\/www.google.com.*</url>
<url>https:\/\/accounts.google.com.*</url>
</blacklist>
</performance>
  ...
</execute>
...

La balise performance permet d'intégrer d'autres éléments de configuration.

Exemple :

Intégration avec Octoperf vous permettra de transmettre vos fichiers HAR directement dans des projets Octoperf pour réaliser des tests de charge.

Les paramètres sont les suivants :

  • idle: Permet de modifier le délai d'attente réseau par défaut. Voir l'action "Configurer la capture réseau" ci-dessous.
  • liste noire: Permet de spécifier les URL dont vous ne voulez pas que les informations de navigation soient exportées dans le fichier HAR. Cela vous permet de supprimer les publicités, par exemple.

Une fois cette configuration effectuée, si vous redémarrez Agilitest,vous verrez apparaître une action Performance à droite du menu des actions :

Le menu Performance est déroulant et affiche les sous-menus suivants :

Ouvrir un canal en mode d'enregistrement HAR

Vous devez créer ou modifier votre action d'ouverture canal pour indiquer à Agilitest que vous souhaitez activer les fonctions d'enregistrement et de contrôle du réseau.

Cliquez sur la troisième icône à droite.

bouton performance

L'action d'ouverture de canal fera apparaître l'icône"Performances".

canal avec action de performance


Ajouter des fonctions d'enregistrement

Paramètres

Cette action vous permettra de configurer la capture réseau

Vous pouvez modifier le comportement d'Agilitest lors de l'enregistrement du replay du test en permettant de fournir un .HAR :

  • Latence : Ceci vous permet d'ajouter la latence en secondes à toutes les requêtes envoyées et reçues par le navigateur web utilisé par Agilitest.
  • Trafic inactif: durée maximale en secondes avant de considérer que le trafic réseau est terminé après la dernière activité réseau enregistrée (par défaut : 3 secondes).
  • Upload: Limite la bande passante de la liaison montante en octets/seconde.
  • Téléchargement : Limite la largeur de bande de la liaison descendante en octets/seconde.‍
  • Ajouter un filtre URL : Cette option vous permet de filtrer les URL qui seront comptabilisées et enregistrées dans le fichier HAR correspondant. Vous pouvez ajouter autant de filtres que vous le souhaitez.

Vous avez la possibilité d'ajouter des filtres d'URL non autorisés, qui ne seront donc pas enregistrés dans votre fichier HAR. Comme il s'agit plutôt d'un sujet de configuration générale, cela se fait directement dans la configuration de votre fichier .atsProperties.

Dossier

Cette action est un interrupteur marche/arrêt qui indique à Agilitest quand vous voulez commencer à enregistrer le trafic réseau.

Vous pouvez arrêter et reprendre l'enregistrement à volonté en fonction des actions qui sont effectuées par Agilitest.

Récupérer le fichier HAR

Lorsque votre test est effectué, si le site canal a été ouvert en mode Performance, l'action de fermeture de canal génère le fichier .HAR.

Il vous suffit de le récupérer dans le répertoire suivant :

cible/performance/générerHAR.

Vous avez encore besoin d'aide ?
Contacter le support

Automatisation des scénarios Octoperf

Qu'est-ce que l'Octoperf ?

Octoperf est une solution de test de charge en mode SaaS et sur site.

Agilitest vous permet d'automatiser la génération de scénarios et de les importer directement dans votre compte Octoperf.

Les deux solutions sont donc très complémentaires puisque vous pourrez transformer tout test fonctionnel réalisé avec Agilitest en test de charge dans Octoperf.

Voici comment cela fonctionne :

  • Vous enregistrez un scénario de test fonctionnel avec Agilitest.
  • Vous ajoutez les actions ATS nécessaires à son instrumentation avec Octoperf
  • Vous rejouez ce scénario pour qu'Agilitest génère un fichier .HAR et le transmette directement à votre compte Octoperf, dans le worspace et le projet que vous souhaitez.
  • Vous pouvez ensuite utiliser dans Octoperf les données qui ont été importées par Agilitest pour effectuer des tests de charge et analyser les résultats.

Cela permet de bénéficier de la capacité d' Agilitest d' enregistrer et de rejouer un scénario pour transformer n'importe quel scénario fonctionnel en test de charge.

Nous avons une actionATS spécifique à cette intégration Octoperf appelée "Perfomance".

Activation du mode Octoperf

Tout d'abord, vous devez activer le mode Performancepour permettre la génération de fichiers HAR.

It is also necessary to activate the Octoperf mode by modifying your .atsProperties configuration file and insert a <performance> tag inside the <execute> tag.

Le code suivant active les deux modes nécessaires :

<?xml version="1.0" encoding="utf-8"?><execute>  ...<performance><octoperf><host>https://api.octoperf.com</host><apiKey>1b3b3b85-bbb5-219b-936b-61bb521b23ed</apiKey><workspaceName>AgilitestWorkspace</workspaceName><projectName>AgilitestCaptureProject</projectName></octoperf><idle>4</idle><blacklist><url>https:\/\/www.google.com.</url><url>https:\/\/accounts.google.com.</url></blacklist></performance>  ...</execute>...

Les paramètres sont les suivants :

  • host: correspond à l'adresse du serveur Octoperf, en général laissez-la par défaut.
  • apiKey: correspond à votre clé API que vous pouvez obtenir sur votre compte Octoperf en cliquant sur la section "Profil" de votre compte

Profil Octoperf

Il s'affiche alors en bas à droite, il suffit de le rendre visible et de le copier en cliquant sur l'icône "œil".

  • workspaceName : Correspond au nom de l'espace de travail Octoperf dans lequel se trouve votre projet
  • projectName: Le nom de votre projet Octoperf

Une fois cette configuration effectuée, si vous redémarrez Agilitest, vous verrez apparaître un menu Performance sur la droite de votre écran :

Le menu Performance est déroulant et affiche les sous-menus suivants :

Ouvrir un canal en mode d'enregistrement Octoperf

Vous devez créer ou modifier votre action d'ouverture canal pour indiquer à Agilitest que vous souhaitez activer les fonctions d'enregistrement et de contrôle du réseau.

Cliquez sur la troisième icône à droite.

L'action d'ouverture de canal fait apparaître une icône identique au menu "Performances".

Ajouter des fonctions d'intégration avec Octoperf

Paramètres

Cette action vous permettra de configurer la capture du réseau.

Vous pouvez modifier le comportement d'Agilitest lors de l'enregistrement de la relecture du test pour fournir un .HAR :

  • Latence : Ceci vous permet d'ajouter la latence en secondes à toutes les requêtes envoyées et reçues par le navigateur web utilisé par Agilitest.
  • Traffic idle: Maximum time in seconds before considering network traffic to have ended after the last recorded network activity (default: 3 seconds). The default value of this parameter can be modified with the <idle> tag in your .atsProperties file.
  • Upload: Limite la bande passante de la liaison montante en octets/seconde.
  • Téléchargement : Limite la largeur de bande de la liaison descendante en octets/seconde.‍
  • Ajouter un filtre URL : Cette option vous permet de filtrer les URL qui seront comptabilisées et enregistrées dans le fichier HAR correspondant. Vous pouvez ajouter autant de filtres que vous le souhaitez.

Vous avez la possibilité d'ajouter des filtres d'URL non autorisés, qui ne seront donc pas enregistrés dans votre fichier HAR. Comme il s'agit plutôt d'un sujet de configuration générale, cela se fait directement dans la configuration de votre fichier .atsProperties.

Dossier

Cette action en mode "switch on / off" vous permet d'indiquer à Agilitest quand vous voulez commencer à enregistrer le trafic réseau.


Vous pouvez arrêter et reprendre l'enregistrement à volonté en fonction des actions qui sont effectuées par Agilitest.

Sauver l'UEV

Cette action complète l'enregistrement, finalise la génération du fichier .HAR et l'envoie directement à votre compte Octoperf selon les méthodes définies dans les paramètres de configuration de votre fichier .atsProperties.

Vous avez la possibilité d'agir sur les informations suivantes :


  • Modifier la description de l'UEV qui sera envoyée à Octoperf
  • Changer le nom de l'utilisateur virtuel
  • Ajouter une liste de tags, séparés par des virgules, qui seront utilisés dans Octoperf.
  • Sélectionnez la possibilité d'annexer les actions :

               - Append : les actions HAR s'accumulent dans votre projet Octoperf

                - Don't append : les HAR précédemment enregistrés dans votre projet sont effacés avant l'envoi du fichier HAR.

Vous avez encore besoin d'aide ?
Contacter le support

Rendre les tests logiciels plus robustes

Il y a un certain nombre de conseils à connaître lors de l'automatisation des tests logiciels en général, et avec Agilitest en particulier pour rendre vos tests plus robustes.

En effet, en matière de tests logiciels automatisés, il y a un outil d'automatisation, et il y a aussi le SUT (système sous test) qui a son propre comportement, ses temps de réponse et ses particularités dont il faudra tenir compte.

Ce billet présente une série d'astuces que nous vous recommandons d'utiliser pour rendre vos tests plus robustes.

A propos de l'utilisation de Max / Wait for dans un test

Votre serveur est lent à répondre : tant pis, nous allons attendre 5 secondes de plus !

Nous ne vous recommandons pas de le faire, cette documentation vous expliquera pourquoi et comment traiter le sujet. La technique proposée vous permettra de gérer toutes les solutions où une certaine latence entre le logiciel et Agilitest peut se produire : attente d'une réponse du serveur, calcul complexe sur une solution Desktop...

Identificateurs d'objets

Certains cadres de composants génèrent des identifiants qui peuvent n'être valables que pour une session de navigateur donnée. Il est risqué de se fier à ces identifiants pour effectuer des tests, car il est fort probable que, pendant l'exécution, les identifiants aient été modifiés.

Dans certains cas, cela peut encore être fait en utilisant des expressions régulières.

Il suffit de reconnaître la partie de la valeur de l'attribut du composant à reconnaître qui est toujours fixe, par exemple un préfixe ou un suffixe, dans le cas suivant :

"select_

"id = select_4657

Pour traiter ce cas, l'expression régulière suivante appliquée à l'attribut "id" devrait faire l'affaire :

select_( d{4})

Le nombre de quatre chiffres peut donc varier en fonction des exécutions, mais nous trouverons toujours de manière très robuste le composant dont l'identifiant commence par "select_".


La conception de ATS

Lors de la conception d'Agilitest et du langage ATS , nous avons bénéficié de plusieurs années d'expérience dans les solutions d'automatisation des marchés, et nous cherchons à pallier un certain nombre de lacunes et/ou de défauts. Cela implique la mise en place de configurations spécifiques aux environnements d'exécution : par défaut, ATS est conçu pour fonctionner correctement dans la plupart des cas, mais il est toujours possible de modifier sa configuration.

Double contrôle des propriétés

Lors de la récupération d'une valeur sur un composteur, Agilitest effectuera un double contrôle de la valeur pour s'assurer qu'il récupère une information précise et stable. Cela permet de s'assurer que les valeurs que nous voulons contrôler sont définitives et celles fournies par le test, tout en ajoutant stabilité et fiabilité.

La configuration par l'exécution du robot

La fiabilité d'un test dépend également de sa vitesse ou de sa lenteur d'exécution. En effet, les réseaux et les performances des machines peuvent mettre les tests en échec.ATS prend en compte la possibilité que les performances des machines impactent l'exécution des tests. Ainsi, lors de son lancement, ATS récupère un fichier de configuration .atsProperties spécifique au job sur lequel il s'exécute.

Cela permet d'adapter finement les environnements d'exécution au contexte souhaité, par exemple une version de logiciel de développement ou une version de production peuvent ne pas répondre de la même manière : Avec ce système, il y a beaucoup plus de garanties d'avoir toujours un replay régulier.

Configuration par navigateur

Le comportement du test et donc le résultat de son exécution peuvent également varier en fonction des navigateurs. Il est donc également possible de configurer l'environnement d'exécution en fonction des navigateurs utilisés.

La robustesse au centre des enjeux de notre produit de développement

La robustesse et la maintenabilité des tests sont au centre de nos préoccupations car nous voulons que les testeurs se concentrent sur ce qui est vraiment important pour eux. Dans le jargon Agile/Lean, nous cherchons à supprimer le "muda" (perte de temps/gaspillage) dès que nous en avons l'occasion.

Vous avez encore besoin d'aide ?
Contacter le support

Automatisation de la validation des boîtes de dialogue

Comment automatiser la validation d'une boîte de dialogue

Il vous arrivera souvent de devoir valider une boîte de dialogue sur les navigateurs web pris en charge afin de confirmer ou d'annuler une action.

Cependant, il est impossible de capturer une boîte de dialogue avec l'outil de capture.

Pour automatiser la validation avec Agilitest, vous devez sélectionner la boîte de dialogue dans l'application racine disponible dans une action.

Lorsque vous créez une action sans élément d'interface, l'application racine est affichée.

Cliquez sur le bouton "Souris" dans le menu des actions

action de la souris

Sélectionnez ensuite "Clic souris"

action du clic de la souris

Cliquez sur le bouton "Application racine" pour sélectionner le type d'interface

demande de racine

Un nouveau menu apparaît avec les possibilités suivantes :

menu de l'application racine
  • Ajouter un élément d'interface
  • Modifier l'élément du système
  • Gérer une boîte de dialogue
  • Enregistrement d'écran

Pour en savoir plus sur les autres types d'éléments, vous pouvez consulter notre documentation sur les actions d'édition.

Pour automatiser une boîte de dialogue, cliquez sur le bouton "Boîte de dialogue"

bouton dialo box

Trois actions sont possibles sur une boîte de dialogue

Confirmer la boîte de dialogue

À partir de l'application racine, sélectionnez "Boîte de dialogue" pour afficher ses options

options de la boîte de dialogue

Sélectionnez le type de validation dont vous avez besoin pour la boîte de dialogue :

  • Acceptez
  • Rejetez
boîte d'acceptation

Exemple :

Une boîte de dialogue qui doit être acceptée ou rejetée

exemple de boîte de dialogue

Action de clic

Il est également possible d'utiliser simplement l'action de clic sur une boîte de dialogue si un seul bouton apparaît.

cliquer sur la boîte de dialogue

Exemple :

Un "Ok" qui permet de faire disparaître la boîte de dialogue

bouton ok de la boîte de dialogue

Action de propriété

Pour chacune des actions proposées, il est possible d'effectuer une action sur la propriété, qui permettra d'introduire les informations saisies dans la boîte de dialogue.

Exemple :

Pour ce faire, cliquez sur le bouton "Propriété" situé dans le menu d'action

action de propriété

Sélectionnez ensuite "Boîte de dialogue" dans l'application racine.

bouton de la boîte de dialogue

Le texte affiché dans la boîte de dialogue s'affiche alors,

texte de la boîte de dialogue

En tant que valeur dans votre action de propriété.

valeur d'un bien immobilier

Vous avez encore besoin d'aide ?
Contacter le support

Gestion des mots de passe cryptés

Agilitest permet l'enregistrement de variables qui sont ensuite cryptées dans des fichiers ATS .

Comment gérer les mots de passe cryptés

Cela permet de ne pas les faire apparaître en texte brut dans les fichiers, ni dans l'interface d'édition des tests.

Vous pouvez accéder à l'utilisation d'un mot de passe crypté grâce au raccourci situé dans les touches spéciales lors de la saisie de texte.

raccourci mot de passe crypté

Ils peuvent également être gérés dans le menu "Editer les propriétés du projet".

Modifier les propriétés du projet

Cliquez sur "Ajouter" et entrez un double de la variable, la valeur.

Par la suite, la valeur peut être récupérée dans ATS comme une variable normale en utilisant le mot clé $pass(variable).

Ce qui diffère de la gestion normale des variables :

  • Les mots de passe ne sont pas imprimés dans l'interface utilisateur de l'éditeur ailleurs que dans son menu d'édition.
  • Ils ne sont pas visibles dans les fichiers ATS , pas même leurs déclarations.
  • Ils n'apparaissent pas dans les fichiers ATSV.
  • Ils n'apparaissent pas dans les logs et journaux générés par Agilitest et ATS.
  • Chaque variable déclarée à l'aide des variables $pass() est traitée de la même manière.
Imprimer un mot de passe dans Agilitest

Quand utiliser des mots de passe cryptés

Nous vous recommandons d'utiliser des mots de passe cryptés lorsque vous ne pouvez pas faire autrement.

Par exemple, nous ne vous recommandons pas d'effectuer vos tests avec des comptes utilisateurs réels qui sont dans vos équipes en cryptant les mots de passe. La solution que nous vous recommandons est de créer des utilisateurs dédiés aux tests et disposant de leurs propres privilèges, si possible limités.

Si vous ne pouvez pas faire autrement, par exemple si vous devez tester le compte administrateur, nous vous conseillons de le faire sur des environnements similaires à la production mais sécurisés différemment (par exemple physiquement dans vos locaux).

Enfin, si vous effectuez des tests sur des systèmes qui se trouvent dans le nuage, vous ne pourrez pas faire autrement, et dans ce cas, nous vous conseillons de compléter ce mécanisme, par exemple en passant par des protocoles de transfert sécurisés comme https ou en utilisant des mots de passe à usage unique émis par un serveur sécurisé.

Vous avez encore besoin d'aide ?
Contacter le support

Démarrage rapide

Vous venez d'obtenir votre licence ou une version d'essai et à l'aide de cette documentation, vos premiers pas sur Agilitest seront guidés. Voici un article pour vous aider à installer Agilitest et ensuite commencer à réaliser vos premiers tests.

▶️ Vous pouvez trouver un tutoriel sur l'installation d'Agilitest sur notre chaîne Youtube.

1. Télécharger Agilitest

Agilitest s'installe sur un ordinateur fonctionnant sous le système d'exploitation Windows. Avant de commencer votre installation, il est préférable de prendre connaissance des prérequis techniques listés dans une documentation dédiée.

Si vous n'avez pas accès aux archives d'Agilitest, allez à la page : https://www.agilitest.com/free-trial.

Entrez vos informations personnelles et nous reviendrons vers vous pour une courte démonstration avant l'installation.

Notre équipe d'assistance vous donnera un lien pour télécharger l'archive.

Une fois que vous avez un lien pour télécharger Agilitest, et que vous êtes sur d'avoir une licence active ou une version démo, vous pouvez installer Agilitest sur votre ordinateur.

Pour ce faire, ouvrez votre répertoire de téléchargement dans votre explorateur Windows pour récupérer votre dossier .zip.

Le dossier .zip contient tous les fichiers nécessaires pour faire fonctionner Agilitest.

Vous pouvez extraire ce dossier en cliquant sur la commande "Extraire tout".

extraire le dossier agilitest.zip

Ensuite, placez votre dossier dans le répertoire de votre choix dans lequel vous pouvez créer un sous-dossier nommé "Agilitest" afin de mieux organiser vos fichiers.

🔸 Attention

Assurez-vous que vous placez votre dossier Agilitest dans un répertoire où vous avez des droits d'accès. Si ce n'est pas le cas, cela peut poser des problèmes lors de la création de scripts. Le répertoire "Document" est recommandé.

Cliquez sur "Ok" pour confirmer l'emplacement de votre archive et des fichiers qui la composent.

Ouvrez votre dossier Agilitest puis double-cliquez sur votre fichier .exe pour lancer Agilitest.

2. Lancer Agilitest

La fenêtre ChangeLog apparaît à l'ouverture d'Agilitest lorsque c'est la première fois que vous ouvrez Agilitest ou lorsque des modifications ont été apportées depuis la dernière fois que vous avez ouvert le logiciel.

ChangeLog

Le ChangeLog est là pour vous informer de la dernière version courante d'Agilitest et des modifications qui ont été apportées au logiciel (parfois avec une courte vidéo explicative pour mieux comprendre).

Pour votre première ouverture d'Agilitest, les conditions d'utilisation vous seront présentées.

Lisez-les et cliquez sur le bouton "Accepter".

conditions générales

Une fois cette opération effectuée, les premières mises à jour des composants de ATS démarreront automatiquement.

ATS mise à jour des composants

Une mise à jour est faite environ toutes les semaines, notamment pour supporter les évolutions des navigateurs et des webdrivers.

Agilitest fonctionne avec le JDK (Java Development Kit). Java sera utilisé pendant toute la phase de compilation et d'exécution des projets automatisés. Par défaut, vous aurez besoin d'un JDK dans votre environnement.

Pour paramétrer votre JDK, vous pouvez le faire à partir du menu des paramètres dans Agilitest.

Bouton de réglage

Il est possible d'établir un lien avec un JDK existant sur votre ordinateur ou vous pouvez le télécharger directement depuis Agilitest comme indiqué en cliquant sur le bouton "Télécharger". Ceci téléchargera le JDK ouvert qui est une version auto-portée du JDK.

Configuration de Java (JDK)

Les deux prérequis pour utiliser ATS sont le package ATS et le JDK qui rendent l'éditeur fonctionnel.

Vous avez besoin d'au moins une version 11 du JDK. Agilitest téléchargera la dernière version.

💡 Conseil

Si vous avez installé UFT avec un JDK dans les variables d'environnement, alors vous pouvez faire cohabiter Agilitest avec cet open JDK existant.

Vous pouvez revenir à l'interface de l'éditeur en fermant la fenêtre ouverte.

La licence est située tout en haut de votre éditeur. En cliquant dessus, une fenêtre de licence apparaîtra avec un certain nombre d'informations telles que l'ID, l'ID système, etc.

Activation de l'Agilitest

Vous pouvez également créer ou modifier votre identifiant en saisissant un autre identifiant dans la barre de saisie, puis en cliquant sur les boutons "Créer un compte" ou "Modifier l'identifiant".

Vous pouvez également trouver des informations sur votre licence dans la section "Aide".

Bouton d'aide
Aide et informations - licence

Dans le menu"Aide", vous trouverez également divers liens qui complètent l'utilisation d'Agilitest.

Menu d'aide

Vous y trouverez le lien pour télécharger Agilitest. Des liens pour télécharger Mobile Station sur Windows ou MacOs et un lien pour télécharger le lecteur ATSV.

Dans la barre latérale de droite se trouvent diverses ressources avec des liens vers la documentation d'Agilitest, le site web, des tutoriels, des webdrivers et une liste d'intégrations que vous pouvez utiliser avec Agilitest.

Dans le menu Outils, vous trouverez des outils supplémentaires qui peuvent améliorer l'utilisation d'Agilitest.

Menu Outils

Par défaut, Agilitest affichera une icône d'erreur s'ils ne sont pas téléchargés. Il est recommandé de tous les télécharger lors de l'installation pour les avoir accessibles.

Installation des outils

L'éditeur peut être divisé en plusieurs parties. La partie gestion de projet avec des boutons pour créer un projet ou des composants.

Section gestion de projet

La section des réglages et configurations avec la catégorie Aide, Outils, etc...

Section Paramètres et configurations

L'explorateur de projet où sont placés les différents scripts et leurs composants.

explorateur de projets

La partie gestion de canal qui est utilisée pour gérer l'exécution des scripts.

Gestion des canaux

Puis la partie consacrée aux variables en dessous.

Variables du script

Une documentation est à votre disposition pour plus de détails concernant l'interface Agilitest.

3. Créer un nouveau projet

▶️ Vous pouvez trouver un tutoriel sur la façon de créer un nouveau projet sur notre chaîne Youtube.

Pour créer un nouveau projet, cliquez sur l'action "Nouveau projet".

Bouton "Nouveau projet

Vous pouvez renommer votre projet et changer son domaine si vous voulez diviser votre projet en différents domaines.

Nouvelle fenêtre de projet

Lorsque vous créez un nouveau projet, il créera un répertoire de projet "AgilitestProjects" où tous vos projets seront automatiquement placés.

Le chemin d'accès à votre projet dans l'explorateur Windows sera indiqué. Vous pouvez également ajouter une description à votre projet.

Une fois le projet créé, il sera placé dans l'arborescence du projet dans l'explorateur de projet.

Note: Les scripts Agilitest sont des fichiers ActionTestScript (.ats). Vous pouvez créer des sous-répertoires pour mieux catégoriser vos projets. Vous pouvez également créer des sous-scripts, qui n' ont aucune différence avec les scripts, les deux sont des fichiers ats , seul l'un est appelé par l'autre.

Il y a deux façons de créer un script :

  1. En cliquant sur le bouton "Créer un scriptATS ".
Créer un bouton de script ATS

       

          2. En cliquant sur le bouton "Nouveau composant".

nouveau composant

           Et en sélectionnant "Créer un script ATS "

Nouvelle fenêtre de composant - créer un script ats

Entrez le nom de votre script. Cela ouvrira une fenêtre correspondant aux interprétations graphiques des actions qui seront effectuées sur votre script. Le format ATS est un format textuel qui décrira toutes ses actions.

vue du script

Pour faire le lien entre Agilitest et l'application testée, vous devez ouvrir un canal.

Pour ce faire, cliquez sur le menu "Canaux" et sélectionnez l'action "Démarrer un canal".

commencez l'action canal

Il est possible de faire du multicanal en créant plusieurs actions de démarrage de canaux. Le nom de ces canaux s'adaptera automatiquement au nombre de canaux ouverts. Il est possible de les renommer.

🔸 Attention

Il est possible de ne faire qu'une seule instance avec les navigateurs web, ce qui signifie que pour un même navigateur ouvert dans plusieurs canaux, cela correspondra à plusieurs onglets ou alors des canaux qui ouvrent différents navigateurs en parallèle.

Une fois que vous avez créé l'action canal , cliquez sur le bouton d'exécution pour lancer l'action

bouton d'exécution de l'action

La fenêtre d'ouverture de canal s'ouvre alors avec diverses informations sur le navigateur et le système d'exploitation.

canal ouverture

Sur l'interface Agilitest, l'ouverture du canal sera signalée par sa présence dans la zone de gestion des canaux avec une ligne qui apparaît avec le nom donné au canal.

Gestion des canaux

Dans un test web, pour accéder à une URL, il faut cliquer sur le bouton "Navigation"et sélectionner "URL du navigateur".

Action URL du navigateur

Cliquez sur l'action pour ouvrir la barre de saisie et indiquer l'url que vous souhaitez lancer.

entrée

Une fois le site ouvert, vous pouvez effectuer diverses actions en utilisant les éléments qui le composent. Pour ce faire, vous devez capturer les éléments avec l'outil de capture.

Cliquez sur le bouton "Capturer"dans la gestion des canaux

bouton de capture

L'outil de capture s'ouvre en plaçant un filtre sur le canal et en faisant apparaître la fenêtre de capture. Avec votre souris, vous pouvez survoler les éléments DOM qui seront mis en évidence par un rectangle bleu.

outil de capture ouvert

Pour capturer un élément, appuyez sur la touche CTRL de votre clavier pour ouvrir la fenêtre parent de l'élément capturé.

les parents de l'élément capturé

Cette fenêtre affiche l'arborescence de l'élément depuis la racine jusqu'au composant ciblé. Chaque branche de l'arbre possède des propriétés qui peuvent être sélectionnées comme attributs. Les propriétés peuvent être prises dans les différentes branches de l'arbre pour plus de précision.

🔸 Attention

Faites attention aux propriétés qui vont changer et qui ne pourront pas être reconnues dans le script par la suite (Exemple: texte, classe, etc).

Cliquez sur un attribut pour ouvrir la valeur de la propriété. Celle-ci peut être modifiée sous la forme d'une expression régulière.

regex

Une fois les attributs sélectionnés, cliquez sur le bouton des statistiques pour confirmer l'unicité de l'élément trouvé.

bouton statistiques

Si plusieurs éléments correspondent à ces attributs, vous pouvez en sélectionner d'autres en remontant dans les branches.

Une fois que c'est fait, vous pouvez glisser et déposer votre élément dans le script, ce qui créera une action.

Sélectionnez l'action que vous voulez utiliser.

Sélection de l'action de l'élément capturé

Une fois la capture terminée, vous pouvez la fermer à partir du menu de gestion canal dans Agilitest.

bouton de fermeture de l'outil de capture

Ou vous pouvez cliquer sur le bouton "Fermer" de la fenêtre de capture pour arrêter l'outil de capture.

bouton de fermeture dans la fenêtre capturée

Vos actions seront ajoutées à votre script. Il est possible de les déplacer manuellement.

présentation des actions
  1. Chaque action possède un index qui est automatiquement ajouté et s'adapte à sa position dans le script.
  2. Dans l'action se trouve la nature de l'action qui peut être configurée.

Exemple : Pour la saisie du texte, vous pouvez entrer le texte que vous souhaitez voir apparaître dans votre test.

       3. Enfin, vous verrez le composant qui a été capturé. Vous pouvez cliquer dessus pour avoir accès à sa valeur que vous pouvez modifier. Vous pouvez ajouter des parents et des enfants à votre élément et modifier la nature du composant.

les enfants et l'élément du parent

Une fois que votre script est terminé, vous pouvez lancer l'exécution en cliquant sur le bouton "Lecture" dans le menu de gestion des canaux.

Bouton d'exécution du test

🔸 Attention

En remote access, assurez-vous que vos sessions restent ouvertes pendant les exécutions.

Lorsque vous voulez fermer votre canal, vous pouvez créer une action "Fermer canal".

Fermer l'action canal

Vous pouvez également fermer le canal actuel à partir du menu de gestion des canaux.

Pour ce faire, cliquez sur le bouton "Fermer".

Bouton de fermeture dans la gestion des canaux

Ou vous pouvez cliquer sur le bouton "Arrêter" dans la ligne du canal

Bouton d'arrêt

🔸 Attention

Vous ne devez pas fermer manuellement votre canal directement depuis l'application. Agilitest n'est pas intrusif (pas de plugin), il n'a aucun moyen de savoir que vous avez fermé une application directement par les actions du système d'exploitation (Exemple: en cliquant sur la croix de la fenêtre de l'application).


Vous avez encore besoin d'aide ?
Contacter le support

Appels de sous-scripts conditionnels avec Agilitest

Agilitest vous permet d'appeler des indices dits"conditionnels", c'est-à-dire que l'évaluation d'une condition entraîne l'appel ou non de l'indice sous-script .

Comment appeler des indices conditionnels ?

Pour effectuer cette opération, vous devez d'abord créer une action d'appel de sous-script.

Ensuite, cliquez sur l'action d'appel du script et "Ajouter une condition".

bouton ajouter une condition

Sélectionnez ensuite une variable sur laquelle une condition est basée.

sélection des variables

Cette variable peut être définie comme "égale" ou "différente".

Une seule condition peut être sélectionnée.

Vous pouvez supprimer une condition définie en cliquant sur "Supprimer la condition"dans l'action d'appel de script.

bouton de suppression de la condition

Les autres paramètres d'appel de sous-script restent les mêmes : vous pouvez passer des des variables d'entrée ou un fichier fichier CSV.

Pendant l'exécution, Agilitest évalue la condition et, en fonction du résultat, appelle ou n'appelle pas le sous-script en utilisant les paramètres définis.

Agilitest vous montrera dans l'éditeur le résultat de l'état actuel de l'appel sous-script :

  • Flèche verte: sous-script sera appelé
  • Signe d'arrêt: le sous-scriptum ne sera pas appelé
les conditions ont été remplies ou n'ont pas été remplies

🔸 Attention

Pour la création et maintenance, nous recommandons de ne pas utiliser la fonctionnalité d'appel conditionnel sous-script , afin que les campagnes de test soient aussi prédictives que possible.

Les cas dans lesquels nous recommandons d'utiliser des conditions sont les suivants :

  • Effectuer un appel en fonction de la valeur d'une variable globale : cela permet d'effectuer des opérations de configuration en fonction de la présence ou de l'absence d'une variable dans les paramètres d'appel de l'intégration continue, par exemple.
  • Dans un sous-script avec un fichier CSV : appeler un script en fonction d'un paramètre du fichier CSV transmis lors d'un appel à sous-script . Cela nécessite un deuxième niveau de sous-script, mais permet de gérer des contrôles dédiés.

Vous avez encore besoin d'aide ?
Contacter le support

Activation d'Agilitest

Vous venez de commander une licence Agilitest et vous devriez avoir reçu votre identifiant client. Si ce n'est pas le cas, veuillez contacter notre service commercial qui vous le fournira. (mail : contact@agilitest.com )

Comment activer votre licence Agilitest

Voici toutes les informations nécessaires pour obtenir l'activation de vos licences sur vos postes de travail, cette opération doit être faite pour chaque licence et pour chaque poste de travail :

  • Connectez-vous à l'ordinateur sur lequel vous voulez activer la licence.
  • Lancez Agilitest et cliquez sur la bannière d'activation de la licence en haut de l'écran.
 Bannière d'activation de la licence  
  • Affichage de la popup d'activation de la licence
  • Saisissez votre identifiant de compte dans le champ "Créer ou modifier votre identifiant de compte".
  • Cliquez sur "Modifier le compte".
  • Si le nombre de licences activées est inférieur au nombre de licences que vous avez commandées, l'activation devrait être effective :
Agilitest activé
  • Si vous cliquez sur Aide en haut à droite, vous devriez voir apparaître les informations d'activation (nom de la machine, nom de l'utilisateur, identifiant du système, identifiant du client, courriel, société et date d'expiration).
Informations sur l'activation

Si l'activation n'est pas effectuée, veuillez contacter notre service commercial ou envoyer une demande à : contact@agilitest.com.

Vous pouvez également nous contacter si vous avez activé une licence sur une mauvaise extension ou si vous souhaitez changer d'extension.

Vous avez encore besoin d'aide ?
Contacter le support

Automatisation des iFrames

Certaines pages HTML incluent des iFrames (cadres en ligne) dans leur conception, notamment pour insérer dans la page des éléments provenant d'un autre serveur.

Comment identifier les éléments iFrames

Pour trouver des éléments sur ces pages HTML, vous devrez sélectionner chaque iFrame dans le DOM de la page, sinon vous ne pourrez pas trouver les enfants de cette IFRAME sur la page.

Exemple ci-dessous :

  • Sélectionnez l'attribut iFrame qui vous permet de le reconnaître :
  • Sélectionnez les attributs des enfants que vous souhaitez retrouver automatiquement dans cet iFrame :

L'objet est alors reconnu sans problème.

Note :

Si l'iFrame n'est pas identifiée, le résultat sera négatif pour détecter ses enfants aussi précisément que la sélection des attributs.

Vous avez encore besoin d'aide ?
Contacter le support

Rapports de test

Agilitest est capable de générer un fichier XML contenant toutes les informations importantes sur le déroulement du test, ainsi que les images successives des différentes actions réalisées. Nous avons choisi de nous appuyer sur un format ouvert (.xml) et un moteur de génération de documents sous licence libre (FOP).

Ces fichiers .xml peuvent être utilisés pour produire tous types de rapports :

  1. Rapports d'exécution :

- Rapport d'exécution: pour une lecture globale de l'exécution des tests

- Rapport d'exécution détaillé (avec ou sans capture d'écran): pour analyser les raisons de l'échec des tests.

◦ Rapport de synthèse (pdf) : pour une lecture globale de la réussite des tests dans un format spécialisé.

◦ Rapport ATSV: Images d'exécution compilées dans un format vidéo (lues via le lecteur ATSV).

     2. Rapport de validation: pour documenter et archiver les exécutions mises en œuvre.

Vous trouverez ci-dessous un schéma d'utilisation des rapports en fonction des besoins des équipes et de la manière dont l'organisation de l'information peut être utilisée (ainsi qu'une vidéo d'animation du schéma https://youtu.be/2UdsYINPk_s).

Schéma de l'organisation des rapports d'essai

Configurations

Génération de rapports

Il est possible de configurer les informations que vous souhaitez voir apparaître dans vos rapports (d'exécution ou de validation) depuis le constructeur du projet en cochant la case "Générer un rapport" ou depuis votre intégration Jenkins. Vous pourrez choisir de générer des rapports d'exécution ou un rapport de validation.

Depuis l'interface d'exécution

Il y a deux façons possibles de générer des rapports :

  1. Dans le menu déroulant de votre projet, en cliquant sur "Gestion des exécutions"
Gestion des exécutions

Puis en cliquant sur la case "Générer un rapport"dans le constructeur du projet. Cela vous donnera accès au "Niveau de détail du rapport"ainsi qu'à la possibilité de cocher la case "Générer un rapport de validation".

constructeur du projet

2. A partir de la rubrique "canal gestion"en sélectionnant le menu "Paramètres" > "Générer un rapport XML"

bouton des paramètres dans les canaux

Depuis votre intégration Jenkins

La configuration des rapports peut également être effectuée à partir de l'intégration Jenkins lors de la création d'une tâche Jenkins.

Vous pouvez définir le niveau du rapport d'exécution ou générer un rapport de validation à partir d'une case dédiée dans la fenêtre de création de Job Jenkins.

Jenkins Création d'emplois

Archivage des rapports

À la fin de l'exécution, les rapports seront archivés dans l'un de ces fichiers par défaut :

Rapport généré par Agilitest ;

  • Java : <Agilitest_project_file>\<project_name>\target\ats-output
  • Maven : <Agilitest_project_file>\<project_name>\target\surefire-reports
  • Ou placé selon le choix de l'utilisateur

Rapport généré par l'intégration Jenkins :

  • Jenkins : <jenkins_job_folder>\builds\<numero_de_build>\htmlreports\<nom_du_publisher>\

Rapports d'exécution

Le niveau d'information dans les rapports d'exécution peut être choisi dans Agilitest en utilisant le menu déroulant "Niveau de détail du rapport".

Les rapports d'exécution fournissent trois niveaux d'information à partir du constructeur du projet dans l'éditeur Agilitest.

Menu du niveau de détail du rapportu

Chaque niveau de rapport comporte les en-têtes suivants :

  • Un résumé global de la suite exécutée avec une description, les paramètres ajoutés et le résultat de l'exécution.
  • Un résumé par Suite qui comprend le nombre de tests exécutés
  • Un résumé par script avec le nombre d'actions, l'heure et la date de l'exécution du script, l'auteur, un lien vers le rapport vidéo et le résultat de l'exécution.
les en-têtes du rapport

Rapport d'exécution

Le rapport d'exécution fournit une lecture globale de l'exécution des tests. Il indique :

  • Actions
  • Liens externes
  • Temps d'exécution
  • Le statut de l'exécution de l'action
Rapport d'exécution

Rapport d'exécution détaillé (avec ou sans captures d'écran)

Le rapport d'exécution détaillé permet de mieux comprendre la conception des tests et des éventuels bugs. Il indique :

  • Actions
  • Liens externes
  • Temps d'exécution
  • Le statut de l'exécution de l'action
  • Informations sur l'action
  • Une capture d'écran cliquable et zoomable (pour le rapport avec capture d'écran)

Toutes les informations sur les actions spécifient le type d'action et les éléments de l'action. Exemple : ActionMouseKey, Type : Clic.

Un insert violet correspondant à l'action apparaîtra dans l'image lorsqu'une action exécutée correspond à une interaction de l'utilisateur (exemple : actions de la souris, saisie de texte, etc...).

Lorsqu'une action échoue ou n'est pas validée mais n'empêche pas le succès du test, une explication de l'erreur apparaîtra dans la partie information de l'action.

Image d'un rapport détaillé
Exemple de rapport d'exécution détaillé sans capture d'écran
Image d'un rapport détaillé avec capture d'écran
Exemple de rapport d'exécution détaillé avec capture d'écran

Le rapport vidéo : ATSV

Le fichier ATSV est accessible directement depuis les rapports d'exécution et correspond à un format vidéo du rapport présenté comme un ensemble d'images compilées accompagnées d'animations des actions exécutées. Pour l'instant, le format de fichier n'est utilisable que via Agilitest et son lecteur interne (Prochainement : le lecteur s'ouvrira sur une page web)

Lien vers le rapport de l'ATSV
Lien vers le rapport ATSV depuis le rapport d'exécution

Le fichier ATSV est également accessible à partir des paramètres d'exécution en cliquant sur "Rapport visuel".

bouton de rapport visuel

Rapport de synthèse

Le rapport de synthèse est généré directement à partir du rapport d'exécution au format PDF. Il nécessite l'utilisation de l'outil Jasper pour être généré. Il est consulté par les managers et les équipes de projet pour disposer d'un compte rendu des tests exécutés dans un format spécialisé. Il correspond à un résumé par Suite d'exécution et par test afin d'avoir un état global de l'assurance qualité du logiciel.

Directement à partir du rapport d'exécution, cliquez sur le lien Résumé pour générer le fichier PDF (en haut à droite du rapport d'exécution).

Lien vers le rapport de synthèse
Lien vers le rapport de synthèse à partir du rapport d'exécution

L'affichage de vos rapports de synthèse peut être personnalisé grâce à des modèles de rapports de projet.

Pour y accéder, ouvrez les propriétés de votre projet en cliquant sur le menu situé dans l'explorateur de projet

Propriétés du projet

Choisissez ensuite le modèle que vous voulez utiliser dans la boîte dédiée.

Modèles de rapports de Proect

Le rapport de validation

Le rapport de validation est généré en cochant la case "Générer un rapport de validation" dans le constructeur du projet :

Générer un rapport de validation

Le rapport de validation est conçu comme une preuve d'exécution à sauvegarder ou à archiver.

Il comprend les mêmes informations que le rapport d'exécution détaillé avec capture d'écran cliquable, à l'exception de ce qui suit :

  • Il n'a pas de lien,
  • Il y a toutes les actions (temps d'exécution, état d'exécution de l'action) sauf celles-ci : pas d'ActionChannel ni d'ActionProperty et d'ActionComment,
  • Dans la partie information, il n'y a pas de partie "erreur" et dans la partie "élément", on retrouve le Tag et les Critères mais on ne retrouve pas le nombre d'éléments trouvés, le temps de recherche, la localisation, la position du clic.
Rapport de validation
Exemple de rapport de validation

L'état d'exécution de l'action

Pour tous les rapports d'exécution et pour le rapport de validation, il existe trois états d'exécution :

Action échouée

Action en erreur : Lorsqu'une action est en erreur pour diverses raisons (bugs, mauvaise saisie, etc...) l'icône d'erreur apparaîtra sur la ligne de l'action.

Une action réussie

Action réussie : Lorsqu'une action est réussie, l'icône de validité apparaît sur la ligne de l'action.

Échec mais action réussie

Action qui a échoué mais qui passe : Lorsqu'une action est en erreur mais n'empêche pas la poursuite de l'exécution du test, l'icône d'erreur de passage apparaît sur la ligne de l'action.

Le statut de vérification de l'action

Pour les rapports d'exécution détaillés et le rapport de validation, dans la case "information", les éléments d'une action validée sont indiqués en vert.

Action validée
Action validée

Pour les rapports d'exécution détaillés et le rapport de validation, dans la case "information", les éléments qui mettent une action en erreur sont indiqués en rouge.

Action en erreur
Action en erreur

Vous avez encore besoin d'aide ?
Contacter le support

Activation du module d'automatisation

Agilitest supporte l'automatisation des tests sur les appareils Android.

Conditions préalables sur le terminal Android

  • Activez le mode développeur du smartphone pour permettre le "débogage USB".
  1. Allez dans les paramètres.
  2. Tout en bas, allez dans"À propos de l'appareil" (ou dans"Système - À propos de l'appareil", sur certains modèles).
  3. Presse la case Build Number plusieurs fois (sept fois) jusqu'à ce qu'un message apparaisse"You are now a developer". Vous venez d'activer le mode développeur sur Android.
  4. Revenez au menu principal des paramètres, vous verrez alors un nouveau sous-menu :"Options pour les développeurs" ou"Options de développement" selon la personnalisation du fabricant.
  5.  Dans les options du développeur, activez"Débogage USB".
  6. Désactivez toutes les fonctions de verrouillage automatique de l'écran.
  7. Connectez le terminal Android sur USB.
  8. Connectez le terminal Android au même réseau WiFi que celui auquel vous connectez l'Agilitest.
  • Sous Windows 7, installez le logiciel de développement driver fourni par le fabricant de votre téléphone. Par exemple, voici le site driver pour les appareils Samsung. Après avoir installé le site driver, une ligne "Android ADB Interface" apparaît dans le gestionnaire de périphériques de Windows en connectant le téléphone via USB.

Conditions préalables sur Agilitest

  • Dans le menu "Aide", cliquez sur le lien dédié au téléchargement de "AtsMobileStation" en accord avec votre OS (Windows ou Mac OS)
  • Exécutez le paquet téléchargé "AtsMobileStation.exe ou .dmg" pour installer localement ce module de détection de dispositifs mobiles.

Début de l'automatisation des tests

Lancez ATS Mobile Station. Le premier écran affiche qu'aucun appareil n'a été trouvé, mais le système commence à scanner les ports USB. Si cet écran persiste, assurez-vous que vous avez connecté votre appareil Android au port USB de votre PC et qu'il est en mode développeur.

ATS MobileStation vient de découvrir un appareil Android connecté et est en train de configurer la connexion.

Enfin, le terminal est trouvé, configuré et prêt à être utilisé. Obtenez l'adresse IP du terminal connecté pour la saisir dans Agilitest.

Dans Agilitest, créez le script ATS qui vous convient et insérez l'action"Démarrer canal" et sélectionnez"Mobile".

Lancez un canal sur les appareils mobiles

Entrez l'adresse IP du terminal connecté, cliquez sur"Découvrir" puis sélectionnez l'application installée que vous souhaitez lancer automatiquement :
Cliquez sur"Ok" pour finaliser l'appairage.

Entrez l'adresse IP de votre appareil Android

L'action d'ouverture de l'application mobile est configurée dans Agilitest.

L'action "Démarrer canal" sur un appareil Android

L'activation de la capture dans Agilitest ouvre une visualisation à distance de l'écran du terminal contrôlé afin d'automatiser directement dessus les actions souhaitées.

Sauvegarde des paramètres de lancement d'une application mobile

Vous pouvez enregistrer ce paramètre pour lancer l 'application souhaitée dans vos paramètres ATS comme suit :

Cliquez sur le bouton"Paramètres" en haut à droite.

Cliquez sur le bouton"Editer la configuration" (cela ouvre le fichier .atsProperties dans votre éditeur de texte par défaut)

Remplir le fichier de configuration en nommant l'application et en remplissant l'URL précédemment définie

<mobiles>
<mobile>
<name>Betclic</name>
<url>mobile://192.168.0.39:8080/sport.android.betclic.fr</url>
<waitAction>100</waitAction>
</mobile>
</mobiles>

Vous avez encore besoin d'aide ?
Contacter le support

Configuration de ATS

Lors de la première utilisation d'Agilitest ou en cours d'utilisation, vous pouvez configurer le logiciel pour optimiser son utilisation. Agilitest fonctionne principalement avec les package ATS et Java (JDK) qui seront utilisés pour créer, maintenir et exécuter des projets automatisés.

En haut à droite de l'éditeur se trouvent plusieurs menus d'assistance, dont le menu "Configurations".

bouton de réglage

Cliquez sur l'onglet "Configurations" pour ouvrir la fenêtre dans l'éditeur

page des paramètres

Configurations d'Agilitest

Rapport d'erreur

Vous pouvez activer les rapports d'erreur (ou logs) en cochant la case "Rapports d'erreur".

rapport d'erreur

Trois options de logs sont disponibles :

  • Les logs de démarrage, au cas où Agilitest se bloquerait au lancement.

Ensuite, les logs d'exécution des tests qui afficheront les erreurs techniques (liées à un driver, pas des erreurs fonctionnelles) :

  • Pour ouvrir les logs courants, vides par défaut, qui affichent les derniers logs créés
  • Pour ouvrir le répertoire des logs dans votre explorateur Windows et avoir accès à l'historique des journaux

Langues

Dans ce menu de configuration, vous pouvez également changer la langue en anglais ou en français.

les langues les plus courantes

Outils obligatoires

Il existe deux conditions préalables au bon fonctionnement d'Agilitest : le package ATS et le JDK.

Configurations d'ATS

Agilitest nécessite une librairie ATS à jour pour fonctionner.

ats paramètres

À partir de ces configurations, vous pouvez :

  • Créer une configuration: Ceci créera une configuration globale de ATS dans le système. En cliquant dessus, vous pouvez modifier la configuration.
  • Télécharger les composants de ATS
  • Télécharger ATS-OpenCv
  • Créer une configuration Neoload
  • Ouvrir un répertoire Maven
  • Ouvrir un répertoire ATS

Comment configurer ATS?

Il est également possible de configurer certaines fonctions de l'éditeur Agilitest via le fichier de configuration .atsProperties.

Pour accéder aux propriétés de ATS , cliquez sur le bouton "modifier la configuration" des paramètres de ATS

bouton d'édition de la configuration

Les paramètres actuellement autorisés sont les suivants :

  • Nombre par défaut d'exécutions  de chaque action dans l'éditeur avant de décider d'un échec. Par défaut, il est fixé à 10.
atsproperties maxtry

  • Positionnement des fenêtres ouvertes automatiquement par l'éditeur. Par défaut, les coordonnées du coin supérieur gauche sont fixées à x=20 et y=20.
  • Dimensionnement des fenêtres ouvertes automatiquement par l'éditeur : largeur et hauteur fixées par défaut à 1500 x 960
atsproperties dimensionnement

  • Gestion du "timeOut" sur l'exécution des scripts et le chargement des pages web. Par défaut, il est fixé à 60ms et 120ms.
atsproperties timeout

  • Gestion des chemins d'accès aux différents navigateurs et des temps d'attente spécifiques pour chacun d'entre eux :
atsproperties path

  • Gestion des chemins d'accès aux différentes applications de bureau Windows installées sur l'ordinateur. Un raccourci sera automatiquement créé à partir du menu "Applications" dans l'action de démarrage d'un site canal.
atsproperties path windows app

Vous trouverez l'application enregistrée dans les propriétés directement dans les applications lorsque vous ouvrirez un canal

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/6091037db25653a59aa30cfc_image-51.png

🔸 Attention

Les chemins d'accès devront être adaptés en fonction de votre configuration.

Configuration de Java (JDK)

Java permet de charger, de compiler et d'exécuter des projets ATS .

Dans le menu de configuration, il est possible de télécharger le JDK ou de saisir le chemin d'accès à un JDK existant sur votre ordinateur.

Paramètres du JDK Java

🔸 Attention

Vous avez besoin d'au moins une version 11 du JDK pour que Agilitest fonctionne.

Il est également possible à partir de cette interface d'ajouter des arguments d'exécution Java pour le lancement des tests en cliquant sur le bouton "Ajouter un argument".

bouton d'ajout d'arguments

Connexions externes

Serveurs ATS Mobile Station

Il est possible de configurer un serveur ATS Mobile Station pour qu'il se connecte automatiquement au serveur configuré lors de vos tests mobiles.

En cliquant sur le bouton "Ajouter", il vous sera demandé de saisir l'adresse IP et le port, qui seront récupérés directement à partir de l'interface de la station mobile.

Vous pouvez consulter notre documentation sur les tests mobiles.

Comptes GIT

Le compte Git dans Agilitest permet de cloner un compte Git existant et donc d'utiliser un projet Git.

Cliquez sur le bouton "Ajouter" pour ajouter un compte

ajouter des comptes git

Saisissez ensuite les informations relatives à votre compte Git.

Informations sur le compte git

Vous avez encore besoin d'aide ?
Contacter le support

Commentaires et journal du script

▶️ Vous pouvez regarder notre tutoriel sur l'utilisation des commentaires de script et des journaux sur notre Youtube canal.

Agilitest vous permet d'utiliser un formatage avancé des commentaires directement à partir de l'éditeur. Le format HTML est utilisé pour concevoir vos commentaires comme vous le souhaitez.

Vous pouvez utiliser les variables de script pour faire des commentaires avec des données de script réelles.

Il existe quatre types de commentaires :

  • Commentaire de script
  • Étape fonctionnelle
  • Journal d'exécution
  • Résumé du rapport

Commentaire de script

Le commentaire du script est celui qui sera appliqué par défaut lorsque vous cliquez sur l'action"Commentaire".

commentaire action

Ce commentaire explique les opérations effectuées par le script, à l'intention de ceux qui devront le consulter pour maintenir .

"Commentaire sur l'étape fonctionnelle

bouton de marche fonctionnel

Ce type de commentaire figurera dans le rapport d'exécution final.

"Commentaire "Journal d'exécution

journal d'exécution, mais pour

Ce type de commentaire apparaît dans les journaux d'exécution des tests.

"Commentaire "Résumé du rapport

bouton résumé du rapport

Ce type de commentaire apparaît dans le résumé de l'exécution du test dans le rapport d'exécution.

Pour chaque type de commentaire, vous avez la possibilité d'effectuer une saisie vocale :

commentaire avec contribution vocale
  • La première icône de microphone est utilisée pour prononcer votre saisie à haute voix.
  • La deuxième icône de microphone avec le "A" sert à la mise en forme (texte en gras, italique, etc...).

Insérer une valeur spéciale

Il est également possible d'insérer une valeur spéciale pour tous les types de commentaires.

bouton valeur spéciale

Exemple de formatage

Vous trouverez ci-dessous quelques exemples des formats HTML chaîne de caractère autorisés dans Agilitest :

  • Caractères gras :

<b> Bold characters </b>

caractères gras

  • Caractères soulignés :

<u> Underlined characters </u>

caractères soulignés

  • Caractères italiques :

<i> Italic characters </i>

caractères italiques

  • Utiliser des puces:

<UL> <LI> Using bullets  N°1</LI><LI>Using bullets  N°2</LI></UL>

l'utilisation de puces

  • Priorité aux paragraphes numérotés :

<OL><LI>Number 1</LI><LI>Number 2</LI></OL>

paragraphes numérotés

  • Insérer un lien actif cliquable:

<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1431248">Bug 1431248</a>

lien cliquable

  • Insérer et afficher un lien vers une capture d'écran:

<img src="https://bugzilla.mozilla.org/attachment.cgi?id=8943437" width="300" height="110"/>

capture d'écran

  • Texte en couleur

<font color="red">text</font>

Vous avez encore besoin d'aide ?
Contacter le support

Passer des paramètres à un sous-script (JSON/CSV ou manuellement)

L'une des caractéristiques d'Agilitest est la possibilité d'utiliser des sous-scripts. Cela vous permettra de factoriser les fonctions communes de vos tests. Agilitest vous permet également de passer des valeurs comme paramètres à vos sous-scripts et ainsi rendre vos sous-scripts évolutifs et génériques.

Un site sous-script créé à partir d'un script exécutera toujours les actions qui le composent avec les mêmes paramètres.

Il est également possible de modifier les valeurs du sous-script pour l'utiliser dans plusieurs configurations possibles.

Il existe différentes façons de passer des paramètres à un sous-script : :

  1. Manuellement, en entrant les paramètres dans le script
  2. ou avec un jeu de données, en utilisant un fichier CSV/JSON

▶️ Vous pouvez trouver un tutoriel en 3 parties sur le passage de paramètres à un sous-script sur notre Youtube canal : Partie 1, Partie 2, Partie 3

Ajouter des paramètres à un sous-script

Si votre script ne comporte pas d'action d'appel sous-script, vous pouvez en créer une de deux façons :

  1. Soit en saisissant le nom du sous-script dans l'action

Pour ce faire, cliquez sur le bouton "sous-script" dans le menu d'action

action susbscript dans le menu d'action

Cliquez sur l'action "Appeler le script [ ]"pour entrer les informations

action de script d'appel

Ensuite, saisissez le nom du script que vous souhaitez appeler en tant que sous-script.

saisie du nom du script

      2. Soit en glissant un script dans votre test

Dans l'explorateur de projet, cliquez sur un script que vous voulez utiliser comme sous-script et faites-le glisser dans votre script.

script d'entraînement

Cela créera une action "Appeler le script" avec le script glissé.

Appeler l'action du script

1. Paramètres saisis manuellement

Il est possible de passer des paramètres manuellement.

Une fois que vous avez créé l'action d'appel de sous-script dans votre script, vous pouvez passer des paramètres manuellement à votre sous-script, directement depuis votre script.

Pour ce faire, cliquez sur l'action d'appel de sous-script, "Appeler le script [nom_scirpt]."

action de script d'appel

Ensuite, cliquez sur "ajouter un paramètre"

bouton d'ajout de paramètre

Pour information, le premier paramètre sera toujours nommé "Paramètre 0", puis le deuxième paramètre correspondra au "Paramètre 1", le troisième paramètre au "Paramètre 2", etc...

paramètre saisi manuellement dans l'action du script d'appel

Une fois que vous avez saisi les paramètres dans le script, vous devez les ajouter dans le sous-script.

Pour ce faire, ouvrez votre sous-script à partir de l'explorateur de projet.

sous-script dans l'explorateur

À partir de votre sous-script, cliquez sur l'action qui exécutera les paramètres et ouvrez ensuite la fenêtre des valeurs spéciales.

menu à valeur spéciale

Sélectionnez "Paramètre de script" dans les valeurs spéciales et choisissez le paramètre qui vous intéresse.

Sélectionnez le paramètre du script

Lorsque l'action d'appel à un sous-script est exécutée, elle exécute les paramètres spécifiés.

📙 Pour en savoir plus
Avec l'action d'appel de script, un script va appeler un sous-script. Si le script a des paramètres définis, le sous-script les récupère et les passe à $param(x)(voir le schéma ci-dessus "Passer des paramètres à un sous-script depuis un script").

Pendant l'exécution, les paramètres seront affichés dans une fenêtre pop-up en bas à droite de l'éditeur.

paramètres affichés pendant l'exécution

Pour votre information, pour faire réapparaître la pop-up indiquant les paramètres, vous pouvez cliquer sur le bouton"\x".

bouton \x

Lorsque les paramètres sont saisis manuellement, l'exécution de vos paramètres ne se fera qu'une seule fois. Pour multiplier les itérations, vous devrez créer autant d'actions d'appel de script que le nombre d'itérations que vous souhaitez voir exécuter. En d'autres termes, vous devrez répéter les étapes précédentes pour chaque nouvelle itération.

💡 Conseil

Ajoutez des commentaires à vos paramètres afin de suivre les données et d'étiqueter les paramètres. Ces commentaires seront visibles dans le rapport d'exécution.

2. Paramètres saisis à partir d'un fichier JSON/CSV

Créer un fichier JSON/CSV

Il est également possible de passer des paramètres à partir d'un fichier JSON/CSV. Un fichier JSON/CSV correspond à un jeu de données. Le jeu de données va permettre de créer des itérations. Le comportement du sous-script sur un jeu de données sera de boucler le nombre d'itérations contenues dans le jeu de données.

Contrairement à une saisie manuelle, où vous auriez dû créer plusieurs fois l'action d'appel de scripts et saisir les paramètres à chaque fois, pour le jeu de données, les paramètres seront organisés dans un tableau qui sera utilisé par une seule action d'appel de script.

Il existe deux façons de créer un fichier JSON/CSV :

  1. Cliquez sur "Nouveau composant" situé en haut à gauche de l'éditeur Agilitest.
bouton nouveau composant

Puis sélectionnez "Créer un fichier CSV"ou "Créer un fichier JSON"

2. Dans l'explorateur de projet, ouvrez le fichier "fichiers de données"

vue des fichiers de données

Enfin, cliquez sur un bouton pour créer un fichier JSON ou CSV.

créer des boutons JSON ou CSV

Une fois le fichier CSV/JSON créé, il peut être utilisé à partir de l'action du script d'appel.

Pour associer votre fichier JSON/CSV à votre script, cliquez sur l'action  "Appeler le script [nom_du_script]"

appeler l'action du script

Sélectionnez fichier "CSV/JSON"

Bouton CSV/JSON

Il y a deux façons d'ajouter votre fichier CSV/JSON dans l'action :

  1. Directement à partir de l'explorateur de projet

Faites glisser votre fichier CSV/JSON depuis l'explorateur de projet vers l'action call the script.

        2. En sélectionnant le fichier dans l'explorateur Windows

Cliquez sur l'icône de fichier pour rechercher votre fichier à partir de l'explorateur Windows.

bouton d'ouverture de fichier

Une fois que le fichier CSV/JSON est ajouté à l'action d'appel du sous-script, il s'ouvrira automatiquement pendant l'exécution de votre test.

Les fichiers CSV/JSON se présentent sous la forme d'un tableau.

tableau à partir d'un fichier csv

Ils sont tous deux utilisés de la même manière, à la seule différence qu'il est possible de renommer les entêtes de colonnes dans un fichier JSON.

tableau avec des en-têtes titrés dans le fichier json

Dans le tableau, vous pouvez ajouter des colonnes qui correspondent aux paramètres, ainsi que des lignes qui correspondent aux itérations en cliquant sur les boutons correspondants.

pour ajouter des itérations et des rangées ou supprimer

Avec un fichier CSV/JSON, le sous-script est exécuté autant de fois qu'il y a d'itérations.

Une fois votre fichier terminé, vous pouvez récupérer la variable de votre sous-script en utilisant la fonction $param(...) et en lui passant la valeur de la colonne de paramètres qui vous intéresse.

Exemple :

Saisissez $param(0) dans l'action pour renvoyer la valeur de la première colonne de votre fichier CSV/JSON.

param(0) dans une action

📙 Pour en savoir plus
Les paramètres du sous-script sont définis à partir d'un fichier CSV (comma-separated values) constitué d'un tableau avec des lignes et des colonnes. En fonction du nombre de lignes, cela détermine le nombre de fois que le fichier sera appelé, c'est ce qu'on appelle des itérations. (Voir le schéma ci-dessus "Passage de paramètres à un sous-script avec un fichier CSV")
Il en va de même pour les paramètres du sous-script défini à partir d'un fichier JSON (JavaScript Object Notation) composé d'un tableau de lignes (rows) et de colonnes (columns). En fonction du nombre de lignes, cela détermine le nombre de fois que le fichier sera appelé, c'est ce qu'on appelle des itérations. (voir le schéma ci-dessus "Passage de paramètres à un sous-script avec un fichier JSON")
Pour un fichier JSON complexe, il est composé d'un tableau avec des lignes et des colonnes comme un fichier JSON classique. Seulement, les itérations se font en fonction du nombre de valeurs dans une ligne. Le nombre de valeurs dans une ligne correspond au nombre de paramètres (Voir le schéma ci-dessus "Passage de paramètres à un sous-script avec un fichier JSON complexe").
Les paramètres peuvent être créés à partir d'un fichier http ou d'une base de données à partir d'une page web. Le principe est le même que pour un fichier JSON/CSV, les itérations correspondent au nombre de lignes et les paramètres au nombre de colonnes (voir le schéma ci-dessus "Passage de paramètres à un sous-script avec un fichier http").

Options d'exécution des fichiers CSV/JSON

Une fois le jeu de données créé, vous pouvez ajouter des options sur l'exécution de vos fichiers CSV/JSON. Par défaut, les itérations sont faites selon l'ordre présenté dans le tableau, mais il est possible de demander à Agilitest de rendre l'exécution de vos itérations aléatoires.

Pour ce faire, cliquez sur votre élément et cochez la case "Utiliser une ligne aléatoire"

utiliser le bouton de rangée aléatoire

Vous pouvez également donner une "Plage d'index", ce qui vous permet de limiter le nombre d'itérations parmi le total des itérations qui composent le fichier JSON ou CSV.

bouton de gamme d'index

Si vous le souhaitez, cette option vous permet également d'exécuter une seule ligne précise en indiquant son numéro.

Exemple : Si votre fichier JSON est composé de 150 itérations, vous pouvez spécifier 0-50 dans la plage d'index pour limiter l'exécution aux 50 premières itérations.

Enfin, vous avez l'option "Exécuter comme suite" pour que l'exécution se poursuive jusqu'à la fin même si une itération est en erreur.

exécuter comme bouton de suite

Si vous rencontrez une erreur dans l'une des itérations, cela entraînera une erreur dans votre test, et donc l'arrêt du test en le considérant comme KO. Cette option vous permet de considérer chaque itération comme un test indépendant.

Exemple : Sur une exécution de 50 itérations, si la 48ème itération rencontre une erreur, elle sera indiquée comme étant en erreur mais n'empêchera pas de passer à la 49ème et ainsi de suite.

🔸 Attention

Les actions créées après l'exécution de l'action call script en tant que suite ne sont pas sauvegardées et n'apparaissent pas dans les rapports.

3. Paramètres d'un élément d'interface

Il est possible de ne faire apparaître qu'un seul élément de vos paramètres. Dans un sous-script complet, si l'une des actions n'a pas d'élément, le param(0) sera utilisé par défaut. Pour renseigner le param(0) qui sera utilisé, vous pouvez ajouter un"Element's text" à l'action qui appelle le sous-script.

Depuis l'action d'appel de script, cliquez sur "Texte de l'élément".

bouton de texte de l'élément

Ajoutez ensuite un élément sélectionné avec l'outil de capture.

ajouter une interface de critères de reconnaissance

Lorsque vous exécutez votre site sous-script, il affiche l'élément que vous avez capturé.

Ceci est particulièrement utile lorsque vous recherchez des données dans votre tableau parmi un ensemble de lignes. Agilitest vous permettra d'itérer jusqu'à ce que vous arriviez à la ligne que vous recherchiez et vous permettra d'effectuer une action spécifique sur cette ligne.

Exemple : Vous avez un tableau qui contient 5 lignes différentes. En donnant le composant "table" en entrée du sous-script, Agilitest va parcourir en boucle les lignes du tableau dans l'indice.

📙 Pour en savoir plus
Les paramètres peuvent également être extraits d'éléments. Pour une liste d'éléments (DIV), chaque élément correspond à une itération et chaque valeur séparée d'une propriété texte "\n" correspond à un paramètre.(Voir le schéma ci-dessus "Passage de paramètres à un sous-script avec une liste d'éléments (div)")
Pour une liste complexe d'éléments (Rows), chaque ligne correspond à une itération et chaque valeur distincte d'un texte divisé "\t" correspond à un paramètre. (voir le schéma ci-dessus "Passage de paramètres à un sous-script avec une liste d'éléments complexes (rows)")
Pour une liste d'éléments spéciaux, chacun de ses éléments a des sous-éléments qui ont eux-mêmes des valeurs. Le nombre d'itérations est déterminé par le nombre de sous-éléments et le nombre de paramètres est déterminé par les valeurs de propriétés texte distinctes qui composent ces sous-éléments. (Voir le schéma ci-dessus "Passage de paramètres à un sous-script avec une liste d'éléments spéciaux")

Convertir un fichier EXCEL en fichier de données

Vous pouvez utiliser vos fichiers Excel dans Agilitest en les convertissant en fichiers de données.

Pour ce faire, exportez votre fichier Excel et convertissez-le en fichier .csv ou .json.

Une fois que c'est fait, ouvrez votre fichier "données"de votre projet depuis l'explorateur de projet Windows.

Ensuite, copiez et collez votre fichier de données dans le référentiel.

Options d'exécution des paramètres

Itérations

L'ajout d'itérations permettra à votre script d'être exécuté plusieurs fois. C'est pratique lorsque vous avez une fonction qui peut être utilisée successivement et cela vous permettra de vérifier les comportements de votre interface utilisateur.

Exemple : La fonction "retour en arrière" pour revenir aux pages précédentes d'une page web qui peut souvent être répétée plusieurs fois.

Pour ajouter des itérations à un sous-script composé de paramètrescliquez sur l'appel de votre indice et augmentez le nombre d'itérations.

itérations de sous-script

Exemple : Si vous ajoutez 3 itérations, le site sous-script et ses paramètres seront exécutés 3 fois.

L'ajout d'itérations vous permet d'éviter flaky tests, c'est-à-dire les actions qui sont exécutées plusieurs fois et qui produisent parfois une erreur sans raison particulière.

Les itérations, les conditions et les variables ne sont pas toujours utilisables selon le cas:

  • L'exécution du sous-script à partir des paramètres ajoutés depuis votre script vous donnera accès à toutes les options disponibles : itérations, variables et conditions.
  • L'exécution du sous-script à partir d'un fichier JSON ou CSV ne vous permettra pas d'utiliser des variables ou des itérations mais vous permettra d' ajouter des conditions.
  • L'exécution du sous-script avec l'ajout du texte d'un élément vous permettra d'ajouter des itérations et des conditions mais ne vous donnera pas accès aux variables.

Valeur de retour

Il est possible d'obtenir des données à partir d'un site sous-script. Cela créera une variable dynamique (non modifiable) puisque la variable de retour prendra automatiquement la valeur de la variable du script principal.

Il y a deux façons d'obtenir une valeur retournée :

1. Créer une variable

Tout en bas du sous-script se trouve une petite flèche jaune qui vous permet d'ajouter une valeur de retour.

bouton d'ajout de valeur de retour

Une fois que la variable de retour a été créée, elle doit être récupérée dans l'action d'appel de script.

Pour ce faire, cliquez sur le bouton "Variables" pour la tagger dans le script principal avec une variable équivalente en face.

bouton des variables

2. Variable de propriété

Créez une action de propriété pour obtenir des données depuis l'interface.

Pour ce faire, cliquez sur "Propriété" dans le menu d'action

action de propriété

L'action de propriété ciblera un élément d'interface.

Pour cela, cliquez sur le bouton "Charger"dans l'action de la propriété

bouton de chargement

Elle va charger toutes les propriétés qui sont associées à cet élément.

Cliquez sur la propriété qui vous intéresse pour qu'elle soit chargée pendant l'exécution.

liste des "propriétés

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

propriété var

Exemple: Si vous sélectionnez la propriété "texte"avec la valeur "Hello world - Wikipedia" dans la liste des propriétés capturées.

propriété du texte à partir des propriétés capturées

Une fois que la valeur est créée à partir de la propriété, vous pouvez la retourner.

Cliquez sur le bouton "Ajouter une valeur de retour"

bouton d'ajout de valeur de retour

Ensuite, ouvrez le menu des valeurs spéciales et sélectionnez dans les variables de script celle qui correspond à la variable de propriété

propriété var de la variable du script

Cliquez sur l'action d'appel du sous-script, puis sur "Variables" pour spécifier qu'une valeur est renvoyée par le sous-script.

bouton des variables

Sélectionnez la variable qui stockera cette valeur de retour parmi celles déjà créées ou vous pouvez également en créer une nouvelle.

newvar valeur retournée

Cela signifie que la valeur de retour du sous-script sera récupérée dans les variables du script principal.

Cela permet de faire passer des données entre un script et ses sous-scripts.

📙 Pour en savoir plus
Le script principal appelle un sous-script qui contient des valeurs. Il est possible de passer des paramètres à ce sous-script et il est également possible de renvoyer les valeurs du sous-script au script principal. Avec l'action retour de valeur, vous pouvez appeler un certain nombre de valeurs qui seront retournées en fonction des valeurs contenues dans le sous-script. Parfois, les informations envoyées (paramètres ou valeurs de retour) ne sont pas attendues et ne sont donc pas traitées.

Vous avez encore besoin d'aide ?
Contacter le support

Gestion des canaux

▶️ Vous trouverez un tutoriel sur la façon de gérer les canaux sur notre Youtube canal.

Les tests réalisés avec Agilitest sont créés à partir de scripts qui ouvrent des canaux pour communiquer avec l'application testée. Agilitest vous permet d'ouvrir plusieurs canaux sur plusieurs appareils.

Dans un script ATS généré par Agilitest, il y a toujours un canal actif à un moment donné, et toutes les actions sont dirigées vers ce canal.

Dans Agilitest, il existe une distinction entre les actions de gestion des canaux dans les scripts ATS et le menu de gestioncanal dans l'éditeur pour effectuer des opérations de capture d'éléments graphiques.

Démarrez un canal

Tous les tests doivent commencer par une action de démarrage canal .

Pour ce faire, cliquez sur l'action canal dans le menu d'action

action sur les canaux

Cliquez ensuite sur "Démarrer canal".

commencez l'action canal

Ensuite, il est préférable de renommer le site canal que vous avez ouvert afin qu'il puisse être référencé dans les actions suivantes.

Pour ce faire, cliquez directement sur le bouton "Démarrer canal"

Démarrer l'action canal dans l'éditeur

Saisissez ensuite le nom que vous souhaitez donner à votre canal.

canal nom

L'action"Démarrer canal" vous permet de sélectionner l'application qu'Agilitest lancera pour vous, vous avez plusieurs possibilités :

panel de candidature
  • Ouvrir un navigateur parmi ceux proposés (MsEdge, Chrome, Firefox, Brave, Opera, Internet Explorer)
  • Ouvrir un explorateur Windows
  • Ouvrir une application de bureau définie dans votre configuration
  • Ouvrir une application mobile (Android ou iOS)
  • Ouvrir n'importe quelle application .exe.
  • Ouvrir un Webservice

Il est possible d'ouvrir plusieurs canaux dans un même script.

Changer vers le canal

interrupteur canal

L'action"Switch canal" permet de passer d'un canal à un autre canal ouvert et identifié par son nom.

switch canal action in editior

À partir de cette action, toutes les actions suivantes seront dirigées vers le site canal spécifié dans l'action"Switch canal".

🔸 Attention

Le fait de lancer un nouveau site canal signifie qu'il l'activera directement.

Vous pouvez également utiliser le menu de gestion canal pour changer la chaîne active.

Pour ce faire, cliquez sur la coche bleue à côté du nom canal pour rendre le site canal actif.

gestion des canaux

Cependant, le changement de canal dans le menu de gestion de canal n'apparaîtra pas comme une action dans votre script.

Fermer canal

fermer l'action canal

La fermeture d'un site canal indique à Agilitest que ce site canal ne sera plus utilisé pendant ce test et ferme l'application.

Vous pouvez également fermer le site canal à partir du panneau de gestion des exécutions de l'éditeur Agilitest.

Pour ce faire, cliquez sur le bouton "Fermer".

close canal action dans la gestion des canaux

Ou la touche "Stop" sur la ligne canal

bouton stop canal

🔸 Attention

Vous ne devez pas fermer votre canal manuellement directement depuis l'application. Agilitest n'est pas intrusif (pas de plugin), il n'a aucun moyen de savoir que vous avez fermé une application directement par les actions du système d'exploitation (Exempleen cliquant sur la croix de la fenêtre de l'application).

Connecter canal à une application déjà lancée

Il est également possible d'accéder par canal à un processus déjà existant dans votre système d'exploitation.

Pour ce faire, vous pouvez utiliser la commande vous pouvez utiliser la commande process:// complétée par une expression régulière pour trouver votre processus dans la liste des processus déjà lancés.

Exemple :

process://.notepad\+\+\.exe

processus

Menu de gestion des canaux

Le menu de gestion canal permet de gérer les différents canaux d'entrée des actions lors du débogage des tests.

Le menu de gestion de canal est situé à gauche, sous l'explorateur de projet.

menu de gestion des canaux

Il comporte plusieurs icônes ayant les fonctions suivantes :

Bouton de capture

bouton de capture

Cette action n'est disponible que si vous avez déjà ouvert un site canal. Elle vous permet d'entrer dans le mode capture et de sélectionner les éléments sur lesquels effectuer des actions.

Bouton de fermeture

bouton de fermeture dans le menu de gestion des canaux

Cette action vous permet de fermer proprement une application ouverte canal, c'est-à-dire de fermer l'application et d'indiquer à Agilitest qu'elle est fermée.

Bouton de lecture

bouton de lecture

Cette action lance une exécution complète à partir de l'action en cours. Si vous n'êtes pas sûr d'une action pour démarrer un test, vous obtiendrez le message suivant :

erreur la plus grave

Dans Agilitest, tous les scripts peuvent être des sous-scripts d'autres scripts. Dans l'éditeur, il est impossible pour Agilitest de déterminer le début d'un test, vous devez donc indiquer par quelle action vous voulez commencer votre test dans les phases d'édition et de débogage.

Bouton suivant

bouton suivant

Cette action exécute l'action sélectionnée et passe à l'action suivante. Vous pouvez ainsi exécuter votre test en séquence, étape par étape. Cette action est équivalente à l'action d'exécution de chaque action affichée à droite de l'action courante dans l'éditeur.

Bouton des paramètres

bouton des paramètres

Cette action affiche un sous-menu permettant de sélectionner les paramètres d'exécution en cours dans l'éditeur.

paramètres de gestion des exécutions
  • Animer: Cette option vous permet de rejouer le test en animant les actions effectuées.

Exemplemouvement de la souris, clics, saisie de texte, etc...

  • Rapport visuel : Le rapport visuel a le même résultat que l'animation, mais sous la forme d'un rapport vidéo : un fichier ATSV (ATS Video) est généré dans le répertoire /target/reports. Il n'est pas nécessaire de mettre le replay en mode animation pour obtenir le rapport visuel.
  • Rapport XML : Agilitest produira un rapport d'exécution du test au format XML (actions.xml), ainsi qu'un ensemble d'images correspondant aux écrans qui ont été visités par le test. Ces éléments sont stockés dans le répertoire /target/report/>test_name>. Ils peuvent ensuite être manipulés pour produire trois niveaux de rapports d'exécution ainsi qu'un rapport pdf à l'aide de JASPER. La production d'un rapport XML active la génération d'un rapport visuel.
  • Exécuter en mode réduit : Cela vous permet de masquer l'éditeur Agilitest pendant l'exécution du test, et donc de mieux voir l'application testée.
l'exécution la plus rapide en mode réduit

💡 Conseil

Le mode réduit est très utile si vous utilisez Agilitest sur un seul écran.

Problèmes potentiels

Echecs d'ouverture d'un canal

Que faire si l'éditeur Agilitest ne veut pas ouvrir un test et capturer un canal?

S'il s'agit d'un problème lié au JDK, alors :

  • Vérifier que Java a été installé et que sa version est compatible avec Agilitest (version 14+).

Il peut être installé directement à partir du menu "Configurations" d'Agilitest, en haut à droite de l'éditeur.

bouton de réglage

Cliquez sur le bouton "Télécharger" pour télécharger la dernière version de Java directement à partir d'Agilitest.

bouton de téléchargement

Si le problème se situe au niveau des pilotes et/ou des bibliothèques:

Cela signifie qu'un fichier est bloqué par le pare-feu ou le logiciel antivirus. Dans ce cas, deux solutions sont possibles :

  1. Régénérer les fichiers drivers et de librairies
  • Répétez l'opération en veillant à ce que le blocage ne se reproduise pas (neutralisation temporaire de l'antivirus).
  • Fermez Agilitest
  • Allez dans le dossier utilisateur de votre ordinateur pour supprimer manuellement les dossiers "drivers" et"libs".
les dossiers drivers et libs
  • Ouvrez à nouveau Agilitest pour forcer une régénération des fichiers avec les dernières versions disponibles dans SAAS.
Mise à jour des composants

        

         2. Télécharger manuellement les paquets pour les déployer soi-même

  • Via le menu"Configurations", téléchargez le paquet zippé des Drivers et librairies.
Télécharger le bouton ats components
  • L'archive "ats.zip " sera automatiquement téléchargée via votre navigateur par défaut.
  • Dézippez cette archive "ats.zip " contenant les dossiers" drivers" et" libs" dans votre propre dossier utilisateur.
  • C:\NUtilisateur "Votre_compte"\NActiontestscript

Si le problème persiste, vous pouvez contacter notre équipe d'assistance à l'adresse support@agilitest.com ou directement via Slack.

Ouvrir un site canal avec des plugins

Lorsque vous démarrez un navigateur canal avec Agilitest, le canal sera sans plugins, sans historique, sans comptes, etc...

Cela simule l'utilisation d'un utilisateur réel visitant votre application pour la première fois. C'est pourquoi un site canal lancé par Agilitest ne charge pas les extensions par défaut.

Il existe plusieurs façons d'obtenir le comportement souhaité, la plus simple étant de créer un profil d'utilisateur et de définir ce profil d'utilisateur au démarrage de canal .

Il est également possible d'ajouter des éléments à votre fichier ats.properties.

Voir la documentation officielle : www.actiontestscript.com


Vous avez encore besoin d'aide ?
Contacter le support

Gestion des fenêtres

▶️ Vous pouvez trouver un tutoriel sur la façon de gérer les fenêtres sur notre chaîne Youtube.

‍L'action de gestion des fenêtres vous permet de gérer le système d'exploitation Windows, les applications modales du bureau Windows et les onglets du navigateur.

Il ne permet pas de gérer les fenêtres internes de certaines applications Web, qui sont des éléments HTML flottants, directement accessibles avec les automatismes Web.

Un menu spécifique est également disponible pour gérer les boîtes de dialogue sans ajouter de complexité inutile.

En d'autres termes, l'action sur la fenêtre ne concerne pas seulement les différentes fenêtres, mais aussi les onglets d'une même page et les fenêtres contextuelles.

Lorsqu'une application ouvre une fenêtre, Agilitest ne peut pas déterminer si la capture doit avoir lieu dans cette fenêtre ou si elle doit rester dans la fenêtre actuelle. Cela dépend de la manière dont les concepteurs de l'application ont voulu procéder, si la fenêtre est modale, non modale, etc.

Pour accéder aux options d'action de la fenêtre, cliquez sur le bouton "Fenêtre"dans le menu d'action

action sur la fenêtre

L'action de la fenêtre comporte un sous-menu avec trois actions possibles :

menu des actions de la fenêtre
  • Taille et emplacement: Cette fonction permet de déplacer la fenêtre en spécifiant ses nouvelles coordonnées cartésiennes ou de modifier sa taille (hauteur et largeur).
  • État de la fenêtre: Cela vous permet d'envoyer un événement du système d'exploitation concernant la fenêtre actuelle.
  • Changer de fenêtre: Cette fonction permet de changer la fenêtre actuelle en indiquant le numéro de la fenêtre à modifier.

Dimension et emplacement

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/60910360b49e959fc8bc06f2_image-211.png

Cette action permet de déplacer la fenêtre en spécifiant ses nouvelles coordonnées cartésiennes, ou de modifier sa taille: hauteur et largeur.

Il suffit d'activer les paramètres que vous souhaitez modifier en cliquant sur les étoiles jaunes, puis de saisir les valeurs souhaitées.

Cette action affecte la fenêtre en cours.

État de la fenêtre

Cette action vous permet d'envoyer un événement du système d'exploitation à la fenêtre en cours.

Elle fonctionne de la même manière que si vous aviez cliqué sur l'une des icônes de votre application (en haut à droite pour Windows).

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/60910360e8e6f57b55aa7ddd_image-19.png

Les actions possibles sont les suivantes :

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/60910360d3595f5b5552df4a_image-212.png
  • Fermer: Pour fermer la fenêtre en cours
  • Agrandir : Pour agrandir la fenêtre actuelle au maximum
  • Réduire : Pour réduire la fenêtre

Changer la fenêtre courante

Lorsqu'il n'y a qu'une seule fenêtre dans l'application, toutes les actions effectuées sont envoyées à cette fenêtre. Lorsqu'une application comporte plusieurs fenêtres, une fenêtre courante doit être définie.

Ceci est très similaire à la fenêtre courante canal : toutes les actions qui sont effectuées le sont sur la fenêtre courante.

Les fenêtres concernées sont de véritables fenêtres de système d'exploitation : vous pouvez avoir une application web très complexe qui gère plusieurs fenêtres dans un navigateur sans avoir à passer d'une fenêtre à l'autre.

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/609103601d2478e49db557ee_image-210.png

Cette fonction permet de changer la fenêtre courante en indiquant le numéro de la fenêtre concernée. En général, le numéro 0 correspond à la fenêtre principale de l'application, et les numéros suivants sont dans l'ordre d'apparition des fenêtres (ou onglets dans un navigateur).

Interventions problématiques

Toutes ces actions vous permettront d'influencer précisément la configuration des fenêtres de votre application.

Dans certains cas, cela peut poser des problèmes :

Positionnement forcé

Si vous placez toujours les fenêtres de vos applications dans la même position, vous ne verrez peut-être pas de bugs, auquel cas nous vous recommandons de laisser les applications utiliser l'espace de l'écran comme elles le souhaitent, et éventuellement de faire des tests sur différentes tailles d'écran.

Évidemment, dans certains cas, il est utile de forcer une configuration spécifique, si vous utilisez la reconnaissance graphique par exemple, car contrairement à une approche liée à la structure de l'application (DOM, Desktop), la reconnaissance graphique agira sur les éléments réellement visibles à l'écran.

Intervention directe sur l'application

La fermeture de la fenêtre en cours permet de se débarrasser d'une fenêtre contextuelle encombrée.

Mais il n'est pas recommandé de fermer la fenêtre principale de l'application (à moins que vous ne souhaitiez contrôler une fenêtre d'alerte).

Pour le faire correctement dans Agilitest, utilisez l'action pour fermer le canal.


Vous avez encore besoin d'aide ?
Contacter le support

Saisie de texte

▶️ Vous pouvez également consulter notre tutoriel sur l'utilisation de l'action de saisie de texte sur notre chaîne Youtube.

Créer une saisie de texte

L'action "Saisie de texte" est accessible directement à partir du menu des actions,

saisir le texte action

ou en déposant un locator dans l'éditeur

saisir du texte avec une action créée

L'action de saisie de texte se présente comme suit :

saisir une action de texte dans l'éditeur

Pour saisir le texte requis, cliquez sur l'action "Saisie de texte [ ]".

saisie de texte

Un ensemble de touches supplémentaires est disponible pour simuler les touches d'un clavier.

clés supplémentaires

Vous pouvez également saisir des valeurs spéciales lors de la saisie de texte.

menu des valeurs spéciales

Bien entendu, pour que votre texte apparaisse dans l'application testée, l'élément d'interface sur lequel vous effectuez cette action doit accepter la saisie de texte au clavier.

Cependant, Agilitest ne vous empêchera pas de le faire sur un mauvais élément, car l'opération finale dépendra toujours de la réaction de votre application.

saisir le texte action réussie


Vous avez encore besoin d'aide ?
Contacter le support

Actions de la souris

▶️ Vous pouvez également consulter notre tutoriel sur les actions de la souris sur notre chaîne Youtube.

‍Lors de vos tests, les actions de souris proposées par l'éditeur Agilitest sont utilisées pour simuler les actions de souris effectuées lors de l'utilisation de l'application testée.

Les actions de la souris peuvent être utilisées pour toutes les applications, y compris les applications mobiles (le clic correspond à un tapotement sur l'écran).

Créer une action de souris

Il existe deux façons de créer une action de souris :

  1. Dans le menu des actions

Dans l'éditeur Agilitest, cliquez sur l'action de la souris

action de la souris dans le menu d'action

Sélectionnez ensuite le type d'action de la souris que vous souhaitez exécuter

les types d'actions de la souris

         2. En créant une action avec un locator

Une fois que vous avez capturé un élément avec l'outil de capture déposez-le dans l'éditeur pour créer une action.

créer une action avec le locator

Survolez l'action de la souris pour ouvrir un sous-menu et cliquez sur le type d'action de la souris que vous souhaitez exécuter.

Types d'actions de la souris

🔸 Attention

Lorsque vous glissez-déposez un élément pour créer une action, ne cliquez pas sur l'action "Souris". Il suffit de survoler l'élément pour ouvrir le sous-menu (cf. image ci-dessus)

Types d'actions de la souris

Clic de souris

cliquer sur l'action

L'action du clic de la souris est utilisée pour cliquer sur l'application testée ou pour simuler la pression du doigt sur un test mobile.

Vous pouvez modifier et spécifier le type de clic de souris que vous souhaitez effectuer en cliquant sur l'action Souris dans l'éditeur.

options de clic de souris

Vous aurez accès à un sous-menu qui vous permettra de sélectionner le type de clic que vous souhaitez générer : clic gauche, clic molette, clic droit ou double clic.

Par défaut, le clic se fait au centre de l'élément. Cependant, vous pouvez vouloir cliquer sur une zone décalée ou sur un autre élément dont vous connaissez les coordonnées cartésiennes à partir de l'élément capturé.

Pour ce faire, vous pouvez sélectionner un coin ou un côté de l'élément à partir duquel vous allez spécifier un décalage cartésien.

coordonnées de l'action de clic de la souris

Les coordonnées positives définissent toujours un point à l'intérieur de l'élément.

Exemple :

Si vous sélectionnez le coin supérieur droit avec un décalage de 10x et 10y, le clic sera pointé à 10 pixels en haut à droite à l'intérieur de la boîte de votre élément.

Vous pouvez également ajouter la pression de la touche "CTRL" ou "Shift" à votre action de clic.

pression d'une touche avec action de la souris

Survol

L'action de survol vous permet d'indiquer que vous souhaitez survoler une zone spécifique de l'écran. Cette action est particulièrement utile pour déplier les menus déroulants de vos applications.

Sur l'action

Comme pour les autres actions de la souris, vous pouvez également redéfinir la position de la souris à l'aide de coordonnées cartésiennes.

coordonnées cartésiennes des actions de la souris

Glisser, déposer, balayer

Les actions de glisser-déposer simulent un mouvement de la souris pendant lequel le bouton gauche de la souris est maintenu enfoncé.

Cette action est très souvent utilisée pour effectuer des opérations de glisser-déposer entre plusieurs fenêtres d'une ou plusieurs applications.

actions de glisser, déposer, balayer

Les actions doivent être effectuées dans cet ordre :

  • Commencez par une action de glissement en définissant l'élément à partir duquel vous voulez que le clic gauche commence et se maintienne.
  • (Facultatif) Insérer zéro ou plusieurs actions de balayage : celles-ci correspondent aux zones de balayage visitées par la souris lorsque le bouton de la souris est maintenu enfoncé.
  • Ajoutez ensuite une action de dépôt en définissant l'élément sur lequel le bouton de la souris est relâché.

L'action de balayage peut également être effectuée indépendamment du glisser-déposer.

Une fois que vous avez saisi l'élément sur lequel votre action de balayage sera effectuée, vous pouvez spécifier l'action.

Pour ce faire, cliquez sur l'action de balayage

action de glisser dans l'éditeur

Un balayage de 20 pixels vers la droite est défini par défaut.

Le menu des paramètres d'action s'ouvre alors

paramètres de balayage

Vous pouvez modifier l'orientation du balayage en cliquant sur les flèches directionnelles et définir le nombre de pixels verticalement ou horizontalement.

Comme pour les autres actions de la souris, vous pouvez également redéfinir la position de la souris à l'aide de coordonnées cartésiennes.

Défilement

L'action de défilement simule une rotation de la molette de la souris, provoquant le défilement de la page affichée.

Dans le cas d'une application mobile, le défilement consiste à balayer l'écran.

Dans les deux cas, Agilitest est utilisé pour indiquer le nombre de pixels pour le défilement vers le haut ou vers le bas. Ce nombre est positif si l'on veut faire défiler vers le bas.

Pour être efficace, l'élément d'interface sélectionné doit répondre à une action de défilement. Vous pouvez effectuer cette action sur la fenêtre principale de l'application en ne sélectionnant pas d'élément d'interface.

L'action peut être utilisée sur des sous-fenêtres (DIV) qui ont des options de défilement, en sélectionnant l'élément comprenant la fenêtre désirée.

Lorsque l'action de défilement est créée, elle est exécutée par défaut en tant que défilement automatique.

Toutefois, il est possible de définir le défilement que vous souhaitez exécuter.

Pour ce faire, cliquez sur l'action de défilement

action de défilement automatique

Dans les paramètres de l'action, vous pouvez définir la valeur en pixels à faire défiler.

paramètres de défilement

Vous pouvez le faire en saisissant manuellement la valeur ou en plaçant votre souris sur le carré prévu à cet effet et en faisant défiler la molette de votre souris vers le haut ou vers le bas.


Vous avez encore besoin d'aide ?
Contacter le support

Automatisation des scénarios Neoload

Agilitest automatise la génération de scénarios dans Neoload

Cela vous permet de bénéficier de la capacité d'Agilitest à enregistrer et rejouer un scénario.

Activation du mode Neoload

Neoload n'est pas activé par défaut dans Agilitest. Pour ce faire, vous devez modifier votre fichier .atsProperties et ajouter les lignes suivantes :

<neoload>
<recorder>
<host>192.168.0.28</host>
<port>8090</port>
</recorder>
<design>
<api>Design/v1/Service.svc</api>
<port>7400</port>
</design>
</neoload>

Les paramètres sont les suivants :

  • recorder / host: correspond à l'adresse IP de la machine qui exécute Neoload et qui enregistre les scénarios.
  • recorder / port : le port d'écoute de Neoload sur cette machine. La valeur par défaut est 8090.
  • design / api : Service d'écoute de l'api Design permettant d'écouter et de modifier le projet Neoload en cours.
  • design / port : Port du Servie. La valeur par défaut est 7400.

Une fois cette configuration effectuée, si vous redémarrez Agilitest, vous verrez apparaître une action Neoload à droite du menu des actions :

 

Le menu Neoload est défilable et affiche les sous-menus suivants :

Début

Cette action vous permet de demander à Neoload de démarrer un scénario utilisateur.

La valeur UserPath n'est pas obligatoire mais elle vous permettra de S'inscrire un utilisateur dans votre scénario.

Stop

Cela indique à Neoload d'arrêter le parcours de l'utilisateur actuel.

Deux options sont disponibles :

  • Trouver les paramètres du cadre : Cette option permet de définir des paramètres de remplacement dans Neoload dans le cadre afin de pouvoir les utiliser lors de la variabilisation.
  • Recherche de paramètres génériques : Cette option permet de définir des paramètres génériques dans Neoload afin de pouvoir les utiliser lors de la variabilisation.

Conteneur

Cette action crée un conteneur dans Neoload et le nomme.

Enregistrement

Cette action active et désactive l'enregistrement dans Neoload.

Vous pouvez interrompre et reprendre l'enregistrement pendant le script.

Vous avez encore besoin d'aide ?
Contacter le support

Automatisation des applications Windows et Desktop

Avec Agilitest, il est possible d'automatiser des solutions logicielles développées et compilées sous Windows. Il est également possible de faire des tests directement sur votre système à travers un canal Bureau, supporté par un driver Desktop spécifique.

Exécuter des tests qui ne sont pas sur le Web

Ouvrir une application Windows native

Pour ouvrir une application Windows native, démarrez une canalpuis cliquez sur l'icône pour sélectionner un fichier fichier .EXE.

Agilitest ouvre alors un explorateur de fichiers vous permettant de sélectionner votre fichier exécutable.

Ensuite, tout se passe comme sur les technologies web : passer en mode capture pour sélectionner les composants :

fenêtre de capture

Presse la touche CTRL de votre clavier pour sélectionner un composant et ouvrir les "parents de l'élément capturé"de l'élément capturé

les parents de l'élément capturé

Dans ce cas, les composants affichés ne sont pas des éléments DOM comme sur les navigateurs web, mais correspondent aux Widgets utilisés pour construire l'interface graphique de l'application de bureau.

L'identification d'un locator pour trouver de manière unique le composant dans la page fonctionne de la même manière. Dans le cas d'une application de bureau, il peut y avoir un"AutomationId" généré par le cadre de composants utilisé pour développer l'application.

Créez une action en déposant le composant à l'endroit souhaité dans l'éditeur. L'action saisie par le bureau est alors insérée dans l'éditeur.

Application de bureau

Il y a également le bouton Desktop situé directement dans les applications lors de l'ouverture d'un site canal.

bouton du bureau

Celui-ci n'ouvrira pas de fenêtre si vous le lancez, mais il vous permettra de capturer les éléments de votre bureau et d'exécuter des actions sur ceux-ci.

Les tests effectués sur le bureau sont réalisés de la même manière que les tests sur le web.

🔸 Attention

Lors de l'ouverture d'un bureau canal, vous devrez toujours passer par l'action"Browser URL" en saisissant le chemin de l'application testée dans l'explorateur Windows pour accéder à vos fichiers.

Capturer un élément du système sur une application web

Le Desktop Driver est toujours actif dans Agilitest, même lorsque vous automatisez des solutions web.

Cela vous permet de sélectionner des composants spécifiques de l'application .EXE pour votre navigateur.

Pour sélectionner un Desktop Locator sur une application web, il suffit d'appuyer sur le bouton ALT en mode capture: Agilitest passera de la vue DOM à l'affichage du composant Desktop. Presse Appuyez à nouveau sur ALT pour revenir à la sélection DOM.

Vous pouvez également cliquer sur le bouton "Sys. (Alt)"en haut de la fenêtre de capture.

fenêtre de capture

Si vous souhaitez tester votre application sur plusieurs technologies web et plusieurs navigateurs, nous vous déconseillons d'utiliser ce mode, car vous risquez d'activer des composants non-DOM, spécifiques à votre navigateur, et donc de provoquer des dysfonctionnements sur d'autres navigateurs.

Cette fonction est très utile si votre application web vous permet de télécharger un fichier local vers un serveur web: aucun effort particulier n'est nécessaire pour automatiser cette action.

Gestion des applications

Configuration d'une application couramment utilisée

Vous pouvez configurer une application couramment utilisée en modifiant le fichier de configuration .atsProperties.

L'icône de cette application sera alors automatiquement affichée dans l'action d' ouverture d'un site canal, vous permettant de l'ouvrir directement.

Pour ce faire, cliquez sur l'onglet "Paramètres" dans l'éditeur

Bouton de réglage

Cliquez ensuite sur "Modifier la configuration" dans les paramètres de ATS

bouton d'édition de la configuration

Cela ouvrira les atsProperties dans vos notes.

ats propriétés

Différentes configurations existent dans les propriétés, dont une concernant les applications. Pour ajouter une application fréquemment utilisée :

  • Enter the entry tag <application>.
  • Add <nom> and enter the name of your application
  • Add <path> and copy and paste the path to find the application in your window explorer
  • Finally, enter the closing tag </application>

🔸 Attention

N'oubliez pas les balises d'entrée et de sortie pour les nouvelles applications que vous souhaitez ajouter à vos favoris.

Exécuter une application déjà ouverte

Avec Agilitest, il est également possible d'ouvrir une application déjà en cours d'exécution.

Pour ce faire, ouvrez un nouveau site canal, et entrez dans la ligne de commande:process:// suivi du nom de l'application que vous souhaitez exécuter.

L'application doit être écrite dans la langue utilisée par l'explorateur de fichiers.

processus de commandement

Lorsque vous effectuez votre action, l'application ouverte peut maintenant être capturée par Agilitest.



Vous avez encore besoin d'aide ?
Contacter le support

L'utilisation d'un locator

Certaines configurations de test exigent que vous puissiez récupérer plusieurs éléments du même type avec une seule locator. Il y a plusieurs raisons à cela :

Comptez les éléments

Il est utile de pouvoir compter tous les éléments d'un type donné pour s'assurer sans entrer dans les détails qu'une page, un tableau, une liste, une recherche comporte le bon nombre d'éléments.

Nous allons prendre l'exemple d'un tableau qui affiche les principaux navigateurs et leur portage sur différents systèmes d'exploitation :

Notre tableau d'échantillons : navigateurs / OS

Nous allons faire un premier contrôle qui vérifie que le nombre de lignes est égal à 8.

Nous examinons les lignes (TR)

Nous commencerons par sélectionner une ligne, avec un attribut qui nous permet de l'identifier, et nous veillerons à identifier également un de ses parents commun à tous les éléments que nous voulons compter de manière unique (en commençant par celui-ci).

Sélectionnez une ligne unique

Ensuite, nous faisons glisser l'élément qui suit notre script pour que le contrôle d'occurrence soit égal à 8.

Le premier contrôle échoue

Évidemment, la première tentative de lancer le test à la volée échouera, puisque cet élément est reconnu de manière unique avec son xid = tr5, et donc Agilitest ne trouve qu'une seule occurrence de ligne.

Nous supprimons ensuite l'attribut TR xid = tr5 de l'objet locator

Supprimez l'identifiant unique spécifique à une seule ligne

On obtient un locator non exclusif qui permet de trouver toutes les occurrences de TR sous l'élément TABLE table-main

Vérifiez le nombre de lignes dans un élément TABLE

En effectuant l'action à la volée, nous confirmons qu'Agilitest trouve 8 lignes dans ce tableau.

Si vous cliquez sur la loupe :

Le menu déroulant

Agilitest affiche tous les éléments qui correspondent au locator utilisé, ainsi que leur numéro d'ordre d'apparition dans la structure du logiciel testé.

Rechercher un élément par son index

Lorsque l'on dispose de locators qui permettent de trouver plusieurs éléments, il est possible de préciser par un indice celui auquel on souhaite s'adresser.

Vous souhaitez mettre un index sur TR : cliquez sur TR


Vous devez cliquer dans l'éditeur sur l'élément qui est multiple

Puis à droite de l'élément, vous verrez un # et deux contrôles haut/bas qui identifient par un index l'élément défini par votre locator.

Définir un élément par son index

En validant, Agilitest vous permet de récupérer des attributs spécifiques d'un élément identifié par son index. Par exemple, nous récupérons le texte de la troisième ligne du tableau ci-dessous.


Récupération du texte contenu dans la 2ème ligne du tableau

Pour aller plus loin

Vous pouvez utiliser les index sur plusieurs éléments du même locator.

Cela peut vous permettre par exemple d'aller vérifier le contenu d'une cellule spécifique d'un tableau.

Obtenir le texte d'une cellule spécifique

Cette fonctionnalité d'identification d'un élément par son index peut également vous permettre dans certains cas de vous sortir de situations complexes, si vous manquez d'attributs pour sélectionner de manière unique un élément dans une page.

Vous pouvez également apporter plus de robustesse à vos tests, par exemple si vous changez souvent vos données de test, ne pas sélectionner un élément par son contenu mais par son index peut être plus efficace à long terme, mais votre test sera moins déterministe.

Vous avez encore besoin d'aide ?
Contacter le support

Gestion des versions

Mises à jour régulières

Agilitest est une solution logicielle qui se met à jour automatiquement dès son lancement. Les nouvelles versions sont mises à jour régulièrement, toutes les une à trois semaines.

Agilitest prend en charge les versions les plus récentes des navigateurs, ce qui est absolument essentiel pour vérifier les changements et mettre à jour les drivers.

ATS et l'éditeur d'Agilitest

Au lancement, Agilitest commence par mettre à jour la bibliothèque open-sourceATS .

ATS est la bibliothèque open-source qui gère toutes les interfaces avec les technologies supportées par Agilitest et rejoue les tests écrits au format ATS .

Cette mise à jour permettra à Agilitest d'utiliser la dernière version de ATS.

L'éditeur Agilitest se met alors à jour : une pop-up vous informe qu'une nouvelle version est disponible et vous propose de la mettre à jour.

Le contenu de la nouvelle version sera également présenté dans le ChangeLog, qui comprend les éléments suivants :

changelog

Ajoutés: il s'agit de nouvelles fonctions qui ne sont pas liées à des fonctions existantes.

Modifiés : Nouvelles fonctions liées aux fonctions existantes et aux extensions de fonctions

Corrigés : Corrections fonctionnelles bug , corrections de fonctionnalités, améliorations techniques, etc.

Refuser la mise à jour

Vous pouvez bien sûr refuser la mise à jour, mais sachez que l'impact est assez limité, puisqu'il ne concerne que l'éditeur et ses fonctions : la mise à jour de ATS est automatique.

Si vous refusez la mise à jour proposée, un bouton apparaîtra en haut à droite de l'éditeur pour vous permettre de passer à la version la plus récente d'Agilitest.

bouton de mise à jour

Utiliser une version spécifique de ATS

Il est parfaitement possible de stabiliser l'utilisation d'une version spécifique de ATS en référençant la bibliothèque ATS souhaitée.

🔸 Attention

Nous ne le recommandons pas car les évolutions de l'éditeur et de ATS sont étroitement liées, mais nous considérons que cette fonctionnalité peut être intéressante pour certains profils. De manière générale, il se peut que vous n'ayez pas accès à certaines fonctionnalités récentes développées dans l'éditeur.

Pour spécifier la version souhaitée de ATS, cliquez sur "Propriétés du projet"

propriétés du projet

Saisissez ensuite la version que vous souhaitez appliquer à votre projet.

la version du projet ats

Si vous souhaitez laisser Agilitest gérer les dépendances et télécharger automatiquement les bibliothèques nécessaires à la version sélectionnée, vous pouvez cocher "Utiliser Maven avec Agilitest".

utiliser le bouton maven

Sinon, vous devrez déplacer manuellement la version dans votre répertoire .actionTestScript.

Enfin, si la version ATS des composants installés n'est pas la même que celle de votre projet, Agilitest vous l'indiquera au moyen de panneaux d'information dans l'onglet propriétés et dans le bandeau projet de l'explorateur de projet.

l'information

💡 Conseil

Nous vous recommandons de mettre systématiquement à jour votre version de l'éditeur Agilitest et de la bibliothèque ATS qu'il utilise.

Réinitialisation de la configuration

Voici comment réinitialiser votre configuration :

  1. Décochez "Utiliser Maven" dans les propriétés du projet.
utiliser le bouton maven

        2. Supprimez les deux répertoires libs et drivers (dans votre répertoire utilisateur sous le répertoire .actionTestScript).

        3. Fermez et redémarrez Agilitest.

        4. Vérifier que les bibliothèques sont mises à jour au démarrage et téléchargées dans l'onglet"Settings".

fenêtre de paramétrage

Ainsi que dans la rubrique "Outils"

fenêtre des outils

Si ce n'est pas le cas, cliquez sur le bouton "Télécharger".

bouton de téléchargement

Comment utiliser une version spécifique de Web driver ?

Agilitest prend en charge les versions les plus récentes des navigateurs, ce qui est absolument essentiel pour vérifier les changements et mettre à jour les drivers.

Cependant, vous pouvez changer la version de vos pilotes web.

Pour ce faire, vous devrez modifier la version de vos pilotes dans le dossier où se trouve votre archive Agilitest, dans votre explorateur Windows.

Suivez ce chemin :

tools/ats-tools/<ats_version>/drivers

À partir de là, vous pouvez remplacer la version des pilotes par celle que vous souhaitez.

Politique ATS de vérification et de gestion de la vulnérabilité

Les vulnérabilités dans le code peuvent entraîner divers problèmes, tels que l'atteinte à l'intégrité du système par une source externe, la compromission de données intégrées ou de la confidentialité, etc...

L'une des dernières vulnérabilités connues est celle d'"Apache Log4j" (décembre 2021), qui a affecté Agilitest ainsi que plusieurs organisations, y compris le gouvernement.

Agilitest effectue le site maintenance avant chaque livraison pour trouver ces vulnérabilités, comprendre leur origine et les corriger.

ATS sont publiées toutes les une à trois semaines environ par l'intermédiaire de Maven, et certaines de ces versions peuvent contenir des vulnérabilités.

L'analyse de ces vulnérabilités implique deux niveaux de recherche à travers le référentiel MVN et DockerScout.

MVN repository

Depuis le MVN repository, vous pouvez visualiser toutes les dépendances ATS .

interface du dépôt mvn

En détail, pour chaque version de ATS, le MVN repository peut signaler la présence de vulnérabilités.

Exemple :

vulnérabilité dans le dépôt mvn

La version 2.9.3 présente une vulnérabilité.

Elle a été mise en œuvre 10 jours seulement avant de passer à la version 2.9.4, qui corrigeait la vulnérabilité de la version précédente.

Pour consulter les versions de ATS et les vulnérabilités éventuellement présentes : https://mvnrepository.com/artifact/com.actiontestscript/ats -automated-testing

Dockerscout

Docker est une intégration de génération d'images. Une image Docker contient tous les composants de ATS (bibliothèqueATS , pilotes système, navigateurs web, etc.) contrairement à Maven qui ne contient que la bibliothèque ATS .

Agilitest utilise l'outil Dockerscout fourni par Docker pour analyser les vulnérabilités potentielles.

Il existe quatre niveaux de vulnérabilité avec un code couleur allant du rouge à l'orange foncé, l'orange clair et le jaune :

interface dockerscout
  • Critique
  • Haute
  • Moyenne
  • Faible

Agilitest s'engage à ne pas livrer de versions comportant des vulnérabilités critiques et à éviter autant que possible les vulnérabilités de haut niveau. Néanmoins, ces dernières peuvent être livrées pendant un certain temps en vue d'être supprimées dans les prochains jours.

Les vulnérabilités moyennes et faibles restent sous surveillance.

Pour afficher les images Docker susceptibles de contenir des vulnérabilités : https://hub.docker.com/repositories/actiontestscript

Vous avez encore besoin d'aide ?
Contacter le support

Exécution des tests

La conception des tests et la maintenance des scripts de test sont deux aspects essentiels du processus de test des logiciels. L'éditeur Agilitest vous permet de construire vos tests et de les modifier directement dans l'interface pendant l'exécution en mode "pas à pas".

Une série de fonctions sont disponibles au niveau de l'action pour configurer et modifier l'exécution de vos tests.

"Mode d'exécution "pas à pas

Le mode pas à pas est un mode spécial dédié à l'édition et à la modification des tests.

Agilitest vous permet de rejouer les actions indépendamment les unes des autres, de sorte que vous pouvez les exécuter étape par étape.

Pour ce faire, cliquez sur le bouton de lecture qui apparaît sur la ligne de chaque action survolée.

bouton de lecture

Agilitest effectuera alors immédiatement cette action sur le logiciel testé et vous enverra le résultat.

action exécutée

Ce mode de fonctionnement vous permet d'exécuter votre test pas à pas, en sélectionnant les actions les unes après les autres et en vérifiant que chaque action a été exécutée.

Options d'exécution

Marquer un point d'arrêt pendant l'exécution

Il est possible d'ajouter un point d'arrêt à une action pendant l'exécution du test, à des fins de débogage.

Pour ce faire, cliquez sur la coche située sous l'index de l'action pour afficher la fenêtre "Arrêterpour afficher l'icône " Stop ".

icône d'arrêt

Lorsque vous exécutez votre test, il s'arrête au point d'arrêt que vous avez spécifié.

Gérer le nombre d'essais pour une action

Il est possible d'augmenter ou de diminuer le nombre maximum de tentatives. Cela indique à Agilitest qu'il doit essayer plusieurs fois d'attendre le retour de l'application avant de générer un échec.

Cela contribue grandement à la robustesse des tests lorsque vous savez que votre serveur peut se trouver dans une situation où il ne délivre pas immédiatement la page souhaitée.

Le nombre maximum de tentatives est limité à 50, mais le temps d'attente entre chaque tentative suit une courbe exponentielle : cela permet de vérifier rapidement les conditions de réussite lorsqu'elles sont réunies, mais aussi d'attendre "un certain temps" qu'un traitement long soit effectué.

l'action tente

Ces tests peuvent également être séparés par un intervalle de temps. Plus la valeur est élevée, plus Agilitest attendra longtemps entre les tests.

temps d'attente

Gérer les temps d'attente avec Java

Une autre solution consiste à utiliser un morceau de code Java:

Dans l'explorateur Agilitest, sélectionnez la vue à "Scripts Java ATS "

Vue du script JAVA ATS

Cliquez sur le bouton pour "Créer un script Java ATS ".

créer un bouton Java script

Vous pouvez également créer un script Java en cliquant sur "Nouveau composant".Nouveau composant"en haut à gauche de l'éditeur.

nouveau composant

Saisissez le nom du script que vous souhaitez utiliser comme fonction d'attente.

L'éditeur ouvre une fenêtre d'édition de code Java. Collez le code suivant dans la fonction testMain () :

try {    final int ms = Integer.parseInt(prm(0, "1000"));    Thread.sleep(ms);} catch (Exception e) {}

Enfin, glissez-déposez le script Java de l'explorateur Agilitest vers le script à l'endroit où vous souhaitez l'appeler dans votre test.

callscript java

💡 Conseil

Si vous souhaitez pouvoir spécifier le temps d'attente directement à partir de votre script ATS dans Agilitest, vous pouvez déclarer un paramètre transmis par valeur au script et utiliser ensuite le code suivant :

try {        final int ms = getParameter(0).toInt();        Thread.sleep(ms);} catch (Exception e) {}

Pour indiquer qu'une action peut échouer

Vous pouvez indiquer à Agilitest que cette action peut échouer sans que le test n'échoue.

Pour ce faire, cliquez sur le carré en bas à droite.

action en cas d'échec indiquée

Une double flèche verte s'affiche alors, indiquant que l'action risque d'échouer.

action signalée comme ayant échoué

Cette fonction est nécessaire pour compenser certains comportements sporadiques de l'application,

Exemple Exemple : une fenêtre contextuelle qui n'apparaît pas tout le temps.

Exécution en mode réduit

Si vous le souhaitez, vous pouvez exécuter votre test en mode réduit, ce qui fermera temporairement la fenêtre Agilitest pendant la durée du test.

Cliquez sur les paramètres dans l'onglet de gestion canal sous l'explorateur de projet,

bouton des paramètres

Cochez ensuite la case "Exécuter en mode réduit".

exécuter le mode réduit

L'éditeur Agilitest sera réduit pour vous donner une meilleure vue de ce qui se passe dans votre application, ce qui peut être utile si vous n'avez qu'un seul écran.

Exécution en mode réduit

Exécuter en mode Java

ATS a été conçu pour générer du code Java afin d'exécuter des tests compilés, ce qui est particulièrement bien adapté au lancement de tests d'intégration continue ou à l'exécution de campagnes de tests complètes dans Agilitest.

L'exécution en mode Java est rapide et efficace. Contrairement à l'exécution en mode pas à pas, qui vous permet de construire et de modifier votre script, l'exécution en mode Java vous permet de l'exécuter de bout en bout dans un environnement de production.

Il existe trois façons d'exécuter des tests en mode Java :

  1. Directement à partir du script

Au lieu d'exécuter votre script pas à pas à partir de l'éditeur Agilitest, vous pouvez choisir d'exécuter le test en mode Java.

Pour ce faire, cliquez avec le bouton droit de la souris sur le script, cliquez avec le bouton droit de la souris sur le script dans votre explorateur de projet et sélectionnez "Exécution Java"

exécution en java

Cela compilera votre script et ouvrira une fenêtre d'exécution Java.

fenêtre java

             2. Créer une suite d'exécution

Il est possible de créer des suites d'exécution. Ces suites regroupent un ensemble de scripts qui seront compilés et exécutés avec Java.

Pour ce faire, ouvrez le menu de votre projet puis cliquez sur "Gestion de l'exécution"pour ouvrir la fenêtre Constructeur de projet.

gestion des exécutions

À partir de cette page, vous pouvez créer des suites dans la zone"Exécutions".

exécutions

Une fois votre suite créée, cliquez sur"Generate" → "Compile" → "Execute" pour exécuter votre script en mode Java.

compiler le constructeur

La fenêtre du terminal Java s'ouvre alors

terminal java

               3. Exécution Java en dehors d'Agilitest

Vous pouvez entrer la ligne de commande dans votre terminal pour exécuter le code sans utiliser Agilitest.

Pour récupérer la ligne de commande, copiez la ligne de commande à partir du constructeur du projet,

ligne de commande

Copiez ensuite la ligne de commande dans le terminal de votre ordinateur pour l'exécuter sans utiliser Agilitest.

Élément non trouvé

Dans l'automatisation des tests, il peut arriver qu'un élément ne soit plus reconnu lors de l'exécution en raison de modifications apportées au logiciel.

Pour y remédier, Agilitest vous permet d'ajuster les tests directement dans l'éditeur.

Localisation et analyse

Vous pouvez utiliser la vidéo de l'échec de l'exécution du test et/ou un rapport avec des captures d'écran pour comprendre et localiser l'échec de la reconnaissance. Deux possibilités s'offrent à vous :

  • L'élément initialement recherché n'existe plus dans le logiciel testé.
  • L'élément initialement recherché existe mais n'est plus reconnu.

Corriger le test

  1. Si l'élément requis n'existe plus

Le test peut être modifié en supprimant cette action dans l'éditeur.

Pour ce faire, cliquez avec le bouton droit de la souris et sélectionnez "Supprimer".

bouton de suppression

Vérifier les actions précédentes et suivantes qui peuvent être liées à l'exécution du test, si nécessaire.

            2. Si l'élément que vous recherchez existe, mais n'est plus reconnu

Le test doit donc être modifié, notamment en mettant à jour les critères de reconnaissance de cet élément dans l'éditeur Agilitest.

Pour ce faire, Agilitest indique précisément quel attribut n'est pas trouvé pour localiser cet élément.

élément introuvable

Ouvrez l'outil de capture à partir de l'éditeur,

outil de capture

Capturez l'élément en appuyant sur la touche CTRL tout en plaçant votre souris sur l'élément,

sélection des attributs

Ajuster les attributs de détection.

Il est possible d'utiliser une "expression régulière sur chaque attribut pour plus de robustesse.

N'oubliez pas de valider l'unicité de la détection à l'aide du test statistique intégré.

statistiques

Glissez-déposez ces nouveaux attributs sur l'action concernée par cette "non-détection" pour la mettre à jour.

élément déplacé dans l'éditeur

Sauvegardez vos modifications.

Vous avez encore besoin d'aide ?
Contacter le support

Appel de code Javascript

Cas pratique d'un script d'appel Javascript

Agilitest vous permet d'appeler du code javascript sur un composant qui a été capturé.

Cela diffère d'un appel java qui s'apparente davantage à un appel de sous-script.

Dans les deux cas, il est possible de modifier les éléments du logiciel que l'on teste, et donc de se détacher de l'opération que l'on est censé contrôler.

Dans certains cas, c'est très pratique, voire nécessaire :

Exemple :

Jetons un coup d'œil au curseur.

L'image suivante montre deux curseurs de tailles différentes, chacun ayant une valeur initiale de 50.

exemple avec 2 curseurs

Lors de la manipulation d'un curseur, il est assez complexe de définir une valeur précise en utilisant uniquement les actions de déplacement de la souris.

Par exemple, si nous indiquons un glissement de 100 pixels vers la droite sur les deux curseurs, nous pourrons déplacer le curseur vers la droite.

actions de glisser-déposer

Ceux-ci n'afficheront pas la même valeur, car ils n'ont pas la même configuration. (Valeur 67 pour le grand et 84 pour le petit).

2 curseurs avec une valeur différente
  • Quel est le problème ?

Si vous effectuez un test basé sur un déplacement de 100 pixels et que la valeur du curseur devient critique pour la réussite de votre test, vous devenez dépendant de l'implémentation du curseur.

Dans ce cas, Javascript est particulièrement adapté, car il permet de fixer une valeur directement sur l'élément du curseur en modifiant la valeur de sa variable interne.

Exemple :

Si vous définissez une valeur de 90 sur les deux curseurs,

action java

Les deux curseurs afficheront la même valeur malgré leur différence de taille et de mouvement.

2 curseurs avec la même valeur

Contrôle visuel

Vous pouvez modifier le style et donc la couleur des éléments que vous testez.

Pour ce faire, il suffit de modifier l'objet style :

style.backgroundColor="vert

action java

Cela vous permettra d'afficher les contrôles visuels dans les fichiers ATSV ou les rapports XML produits par Agilitest.

un curseur en vert

Un contrôle complexe intégré à la page

Dans certains cas où vous devez effectuer un contrôle complexe sur votre page, il est tout à fait possible de coder ce contrôle dans un code javascript chargé dans la page, puis d'appeler la fonction javascript dans votre test, en récupérant la valeur renvoyée pour effectuer un contrôle simple.

Il ne s'agit pas d'une situation optimale, car vous devrez peut-être gérer le code de développement incluant cette fonction et le code de production avec les risques qu'elle peut entraîner, mais cela peut conduire à des situations complexes à gérer.

Pour ce faire, il suffit de déclarer une fonction globale dans une balise SCRIPT de votre page :

<SCRIPT>function checkpage() { ....operations... if (condition) { return true; } else { return false; }}</SCRIPT>

Il suffit ensuite de l'appeler depuis votre éditeur Agilitest, en référençant une variable de retour, sur laquelle vous n'aurez plus qu'à effectuer un contrôle de valeur.

variable de retour

Vous avez encore besoin d'aide ?
Contacter le support

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

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.

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

Contrôle des données de tableau

Comment contrôler les données du tableau

Le titre est un peu complexe mais correspond à un cas que l'on rencontre souvent dans les tests logiciels automatisés :

Vous voulez contrôler les valeurs d'une cellule qui se trouve sur la même ligne qu'une autre cellule que vous connaissez.

Contrôle relatif des données du tableau

Par exemple, dans le tableau ci-dessus, nous voulons contrôler que Chromium est bien disponible sur Android, c'est-à-dire qu'il y a Oui dans la colonne Android de la ligne Chromium.

Agilitest vous permet de le faire simplement par une astuce d'agrégation de texte: si vous sélectionnez la ligne TR correspondante de la table Chromium, vous pourrez récupérer un attribut TEXT qui est une concaténation de toutes les valeurs des cellules de la ligne.


Visualisation de l'attribut agrégé d'un texte de ligne de tableau

La valeur textuelle de la ligne TR contenant le chrome est la suivante :

Chrome Oui Oui Oui Oui Oui Oui Non Non

La valeur que vous voulez contrôler est le 5ème Oui.

Pour récupérer la ligne qui correspond à Chromium sans supposer aucune des valeurs suivantes, votre locator ressemblera à ceci :

(?i)Chrome\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)

(?i) indique que le contrôle doit être insensible à la casse.

\s correspond à un espace

(.*) correspond à tout type de texte, en l'insérant avec des \, il correspond au texte avant un espace, le comportement "gourmand" des expressions régulières va alors essayer de correspondre à autant de caractères que possible.

Récupération de la ligne de texte  

Créez ensuite une variable qui récupérera la valeur spécifique de la colonne Android.

Utilisez l'expression régulière suivante :

(?i)(.*)\s(. *)\s(. *)\s(. *)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)

Le groupe correspondant est le 6ème

Récupération de la valeur pour android

Il suffit alors de faire un contrôle de valeur :

Contrôle final

Plusieurs commentaires sur ce tour :

Premièrement, vous devez maîtriser les données de vos tests, il peut donc être dangereux d'utiliser cette technique lorsque vous ne savez pas où se trouve la ligne Chrome dans le tableau. Vous pouvez vous retrouver avec un test un peu laxiste qui ne sait pas vraiment où se trouvent les données.

Adaptez donc cette technique au cas par cas, par exemple si vos données de test ne sont pas encore fixées et que vous ne voulez pas modifier votre test trop souvent.

Il est également possible de l'utiliser si vous faites du Data Driven Testing, les contrôles mis en place s'adapteront aux données que vous avez définies dans un fichier CSV. Dans ce cas, des précautions sont à prendre : par exemple "Internet Explorer" contient un espace qui sera utilisé par l'expression régulière et décalera toutes les données que vous voudrez contrôler.

Pour terminer avec cet exemple, vous pouvez utiliser une action "Vérifier les valeurs" pour contrôler toute la ligne de Chromium en une seule fois. Vous contrôlez d'un coup mais vous ne saurez pas en cas d'échec quelle valeur n'était pas conforme.

Vérification unique de la ligne complète


Vous avez encore besoin d'aide ?
Contacter le support

Vérifications

Le but des tests logiciels, outre le respect des procédures d'exécution, est de pouvoir contrôler que le logiciel respecte le comportement attendu.

Nous allons voir quelles sont les fonctions d'Agilitest qui permettent d'effectuer des contrôles ou des assertions dans vos tests logiciels.

Tout passe par la fonction"Check".

action de contrôle

Cette action se décline en trois sous-fonctions :

  • Vérifier les propriétés
  • Vérifier les occurrences
  • Vérifier les valeurs

Lesfonctions "Vérifier les propriétés" et"Vérifier les valeurs" fonctionnent de la même manière. La seule différence est que dans un cas, nous vérifierons les propriétés d'un élément de l'interface utilisateur et dans l'autre, les valeurs d'une variable.

L'option "Vérifier les occurrences" permet de contrôler le nombre d'éléments pris en compte dans la page affichée du logiciel testé.

Vérifier les propriétés

Cette fonction prend en entrée un élément d'interface qui devra être capturé.

Exemple :

vérifier l'action de la propriété

Dans l'exemple ci-dessus, un SPAN est sélectionné avec un "id" égal à "cwos".

Sa propriété "text" est vérifiée pour s'assurer qu'elle est égale à 4.

La fonction de vérification effectue la comparaison en considérant les deux paramètres comme chaines de caractères; et accepte les des expressions régulières.

Vérifier les valeurs

L'opération est identique à l'action"Vérifier les propriétés" décrite ci-dessus. Cependant, cette fonction prend en entrée une variable qui peut être modifiable ou non.

Vérifier les occurrences

Le contrôle d'occurrence vérifie le nombre d'éléments trouvés sur la page actuelle à l'aide d'un Agilitest locator, c'est-à-dire un élément ciblé.

Dans certains cas, il peut être utile de définir des"localisateurs" qui peuvent correspondre à plusieurs éléments. Cela peut être utilisé, par exemple, pour contrôler le nombre de lignes ou de colonnes d'un tableau.

L'action"Vérifier les occurrences" est également très utile pour ajouter de la robustesse à vos tests.

vérifier les occurrences

Vérifier les occurrences et la reconnaissance graphique

La vérification des occurrences fonctionne également avec les éléments graphiques.

Vous pourrez vérifier qu'une image est présente un certain nombre de fois dans la page affichée.

Ceci diffère d'un contrôle basé sur la structure du logiciel, par exemple le DOM, pour lequel même les éléments non affichés seront comptés.

Vous pouvez également combiner le contrôle des occurrences et la reconnaissance graphique pour déterminer quand vous pourrez poursuivre votre test.

Vous avez encore besoin d'aide ?
Contacter le support

Expressions régulières

▶️ Vous pouvez trouver notre tutoriel sur les expressions régulières sur notre Youtube canal.

Les expressions régulières sont très utiles pour effectuer des opérations sur les données, extraire des sous-ensembles ou reconnaître des modèles.

L'utilisation d'expressions régulières vous permettra de cibler chirurgicalement les différents éléments de vos tests : composants, variables, valeurs, et d'ajouter une grande robustesse à leur exécution.

Pour ceux qui ne les connaissent pas, une fois passées les erreurs initiales et la surprise de la découverte, cette technologie est en fait assez simple à utiliser et permet de faire beaucoup de choses sans écrire une seule ligne de code.

Agilitest a également intégré l'IA dans son logiciel, si vous acceptez de l'intégrer, vous permettant de créer des expressions régulières pour vous-même et selon vos demandes.

💡 Conseils

Expressions régulières à connaître :.

‍*= Caractère aléatoire qui se répète zéro ou plusieurs fois

a ? = A un zéro ou un a

a+ = A un ou plusieurs a

(?s) = Insensible au retour à la ligne et au formatage des caractères d'espacement (ligne simple)

‍(?i ) = Insensible à la casse

‍[abc] = Un simple caractère entre a,b ou c

[a-z]{3} = 3 lettres entre les intervalles a à z

‍\d = Nombre décimal

‍[A-z0-9]{2,5} = Tout caractère alphanumérique se répétant entre deux et cinq fois.

^[A] = Commence par A

$[A] = Se termine par A

Reconnaissance des composants

Lorsque vous êtes en mode capture, accessible depuis l'éditeur Agilitest, il est possible de passer des composants dans des expressions régulières.

Vous pouvez ouvrir l'outil outil de capture en cliquant sur le bouton correspondant dans le canal menu de gestion.

bouton de capture

Sélectionnez ensuite le composant que vous souhaitez capturer en appuyant sur la touche CTRL de votre clavier,

Élément capturé

C'est en sélectionnant l'attribut que vous pourrez modifier les valeurs des expressions régulières...

Une fois l'attribut sélectionné, cliquez dessus pour ouvrir une fenêtre de saisie de texte.

saisie de texte

Traversez la case "Expression régulière"pour que la valeur soit automatiquement modifiée

bouton expression régulière

Grâce à l'expression régulière, la valeur de l'UUID peut être modifiée, mais tant qu'elle reste un UUID, Agilitest la reconnaîtra.

Cette astuce permet de reconnaître des éléments dont les valeurs d'attributs sont très volatiles, mais qui conservent une structure constante dans le temps : un préfixe ou un suffixe identique, un numéro incrémenté, etc.

Vérification

Les expressions régulières peuvent être utilisées pour vérifier les propriétés des composants ou les valeurs des variables. Cette action permet de vérifier si la règle écrite dans l'expression régulière correspond à la valeur de la variable.

Exemple :

Si votre valeur ne doit comporter que des chiffres et des lettres, l'expression régulière doit correspondre à cette règle et n'afficher que des chiffres et des lettres.

Dans le cas ci-dessous, l'expression régulière est utilisée pour vérifier que le format de la propriété cd_frame_id_ est bien celui d'un UUID.

expression régulière dans la vérification

Manipulation des variables

Enfin, les expressions régulières peuvent être utilisées pour effectuer des opérations sur les variables, afin d'en extraire certaines sous-parties.

L'expression régulière complète est décomposée en sous-expressions entourées de parenthèses.

Il est alors possible de retrouver la partie de la variable d'intérêt par son numéro de groupe, qui correspond au nombre de parenthèses dans l'expression régulière globale.

Exemple :

Dans l'exemple ci-dessous, nous avons extrait un texte complet comprenant un prix que nous souhaitons vérifier.

regex dans une variable

En utilisant l'expression régulière suivante :

(\d*), (\d*)\ €(.*)

Vous pouvez procéder à des récupérations successives :

  • Le prix en euros correspondant à Groupe 1
  • Cents après le coma correspondant à Groupe 2
  • Le texte additionnel correspondant au Groupe 3
groupes d'expressions rationnelles dans une variable

ChatGPT : Un outil utile pour aider

Augmentez le confort d'utilisation d'Agilitest et la fiabilité de vos scripts grâce aux expressions régulières générées par ChatGPT dans Agilitest.

Lorsque vous créez une variable, il est parfois difficile de savoir quelles expressions régulières écrire ou quel format de date saisir.

En utilisant la fonction ChatGPT pour créer vos variables, vous pouvez résoudre ces problèmes et également décrire les besoins du testeur en langage naturel afin de pouvoir effectuer les opérations seulement un peu techniques dans Agilitest.

Pour accéder à cette fonction, allez dans le menu des variables et cliquez sur le bouton "ChatGPT".

bouton chatgpt

Une fenêtre de dialogue avec ChatGPT s'ouvre alors.

boîte de chatgpt

Cette fenêtre s'adapte selon si vous souhaitez transformer une phrase en expression régulière,

bouton regex

Ou créez une date variable.

variable de date

Prenons l'exemple des expressions régulières :

Une fois que vous avez saisi la valeur de votre variable, cliquez sur le bouton "ChatGPT".

bouton chatgpt

Saisissez les données que vous souhaitez extraire de la phrase saisie comme valeur

données dans le chatgpt

ChatGPT 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 à ChatGPT 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, écrivez votre requête dans ChatGPT :

chatgpt chat box

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

regex de chatgpt 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.

Vous avez encore besoin d'aide ?
Contacter le support

Reconnaissance graphique

Reconnaissance des zones graphiques

Agilitest utilise la reconnaissance des zones graphiques de deux manières :

  • Pour effectuer des actions telles que cliquer, saisir du texte, etc. sur des zones reconnues.
  • Effectuer des contrôles de reconnaissance graphique sur les éléments avec l'action de vérification.

La reconnaissance graphique est effectuée lorsque le mode"Capture" est ouvert.

Pour ce faire, cliquez sur le bouton "Capturer"sous l'explorateur de projet.

bouton de capture

Une fois la fenêtre de capture ouverte, vous pouvez capturer un élément graphique à l'aide de la sélection de la souris.

Maintenez le clic gauche de votre souris enfoncé et définissez la zone que vous souhaitez capturer,

capture d'un élément graphique

Déposez votre élément dans l'éditeur pour afficher l'élément capturé.

élément graphique dans l'éditeur

Trois options sont disponibles :

  • Ouvrez l'arbre des éléments pour générer un "Locator", c'est-à-dire un élément ciblé.
  • Copier l'image dans le presse-papiers
  • Enregistrez l'image sur votre ordinateur
3 options

Arbre des éléments

Lorsque vous cliquez sur"Arbre des éléments", Agilitest affiche la structure du logiciel, ou DOM, jusqu'au plus petit élément qui contient entièrement l'image sélectionnée.

éléments de l'image capturée arbre

Cette opération assure une identification unique de votre image, qui peut être imprimée à plusieurs endroits dans votre logiciel.

💡 Conseil

Il est préférable de sélectionner un ou plusieurs attributs dans l'arbre des éléments. Sinon, vous risquez de vous retrouver avec une image présente à plusieurs endroits dans votre application, comme le montre l'outil"Statistiques".

sélection d'attributs

Lorsque les éléments et attributs parents de votre objet graphique sont sélectionnés, un "Locator"supplémentaire est généré. Il vous suffit de glisser-déposer votre élément dans une nouvelle action de l'éditeur Agilitest.

Après avoir déposé votre élément dans l'éditeur, une nouvelle action est générée et affichée.

action avec élément graphique

Cette action contient un lien vers une image enregistrée dans les ressources de votre projet, accessibles depuis la vue "Fichiers de ressources" de l'explorateur.

Vue des fichiers de ressources

Menu de reconnaissance d'image

menu reconnaissance d'image

Le menu de reconnaissance d'image que vous obtenez en cliquant sur l'image dans l'éditeur vous permet d'ajouter les informations suivantes :

  • Utilisation d'un locator qui n'est pas unique pour identifier les occurrences, sélection de l'image par un index d'une manière unique.
  • Vous pouvez influencer la tolérance de reconnaissance graphique et l'algorithme utilisé. Pour l'instant, seul l'algorithme ATS est disponible et nous vous recommandons de conserver la tolérance par défaut (0,5%).

Affirmations graphiques

Les contrôles d'occurrence vous permettront d'ajouter des contrôles sur la présence d'éléments graphiques dans vos applications, de les compter, de générer des délais d'attente, etc, en plaçant simplement l'élément graphique dans une action"Contrôle d'occurrence".

Pour les réaliser, il suffit de déposer l'élément graphique dans une action"Contrôle d'occurrence".

occurrences action

Cependant, Agilitest contrôlera les images qui sont réellement affichées sur la page (contrairement à une approche DOM, qui peut potentiellement tracer des objets non affichés).

Dans ce cas, vous devez veiller à ce que la fenêtre soit correctement dimensionnée et affichée pour permettre une reconnaissance complète des éléments.

Vous avez encore besoin d'aide ?
Contacter le support

Pilotes Web

ATS récupérera la version correcte de driver en fonction de la version du navigateur récupérée lors du test. En fonction de la version du navigateur, ATS téléchargera automatiquement la version correcte de driver . Il n'est pas nécessaire de configurer les versions manuellement.

Pourquoi Agilitest a-t-il besoin de pilotes Web ?

Agilitest est une solution logicielle installée sur votre ordinateur et régulièrement mise à jour au lancement.

En effet, sans configuration supplémentaire, Agilitest supporte actuellement 5 navigateurs :

  • Chrome
  • Firefox
  • MSEdge
  • Courageux

La philosophie d'Agilitest est de fournir un support aussi rapide que possible pour les dernières versions des navigateurs, et c'est pourquoi les pilotes web sont utilisés pour communiquer avec les navigateurs. Cela permet un support très rapide dès que les pilotes Selenium sur lesquels nous nous appuyons sont mis à jour vers ces dernières versions.

Par conséquent, la mise à jour d'Agilitest apportera la dernière version de driver et pilotera la dernière version du navigateur, et en général vous n'avez rien à faire car :

  • Si vous mettez à jour votre navigateur, cela ne devrait pas avoir d'impact sur l'opération.
  • Si vous ne le mettez pas à jour, il est souvent possible que la dernière version de driver offre une rétrocompatibilité avec les versions précédentes du navigateur et, dans la plupart des cas, cela fonctionne très bien.

Configurer une version spécifique d'un Driver

L'ajout de nouvelles versions de navigateurs à Agilitest nécessite la configuration de l'éditeur dans le fichier .atsProperties

Pour configurer un nouveau navigateur, insérez les lignes suivantes dans votre fichier .atsProperties :

<browser>
<name>chromium</name>
<driver>chromiumdriver</driver>
<path>D:\tools\chromium\chrome.exe</path>
</browser>

Le badge nominatif vous permet de nommer le navigateur tel qu'il sera imprimé dans Agilitest. Un certain nombre de noms sont réservés car nous nous adaptons aux spécificités de chaque navigateur : chrome, firefox, etc... Vous ne pourrez donc modifier le driver et le chemin d'accès à l'exécutable que pour un navigateur déjà connu d'Agilitest.

La balise driver indique à Agilitest le nom du fichier .exe driver à charger, qui se trouve dans le répertoire user/.actiontestscript/drivers/directory.

Vous pouvez accéder à toutes les versions web driver par système via ce lien : https://actiontestscript.com/releases/ats -drivers/

La balise path indique le chemin d'accès à l'exécutable du navigateur.

Par exemple, si vous voulez utiliser Firefox 60 ESR, la procédure est la suivante :

  • Téléchargez et installez Firefox 60 ESR dans un répertoire différent de votre installation de Firefox.
  • Complétez les lignes suivantes dans votre fichier .atsProperties :
<browser>
<name>firefox</name>
<path>D:\tools\firefox60ESR\firefox.exe</path>
</browser>

Dans le cas de Firefox, le site driver utilisé devrait être compatible avec la dernière version et la version ESR, il n'est donc pas nécessaire de modifier le site driver .

Pour spécifier le chemin d'accès à MSEdge, vous pouvez utiliser les lignes suivantes :

<browser>
<name>msedge</name>
<path>C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe</path>
</browser>

Message d'erreur associé :

message d'erreur

Pour corriger cette erreur, il suffit de configurer manuellement le fichier de configuration de ATS .

Il est possible d'y accéder directement à partir de l'éditeur via le menu "Paramètres"dans le coin supérieur droit de l'éditeur.

bouton de réglage

Cliquez ensuite sur le bouton "Modifier la configuration".

bouton d'édition de la configuration

Le fichier sera automatiquement ouvert avec votre éditeur de fichiers par défaut :

éditeur de fichiers

Il vous suffit de définir le chemin d'accès spécifiquement mis en place sur votre système pour accéder aux fichiers d'exécution des navigateurs cibles.

Vous avez encore besoin d'aide ?
Contacter le support

Sélection de fichiers par les navigateurs

Lorsque l'on réalise des scénarios d'affaires impliquant des solutions web, il y a un cas qui revient fréquemment : les interactions avec le système d'exploitation, et en particulier la sélection des fichiers pour les télécharger sur le serveur web ( nous parlons d'upload).

Cette fonctionnalité est en effet implémentée par tous les outils gérant des données d'entreprise : ERP, GED, PLM, CRM...

La fonction de téléchargement est implémentée nativement dans tous les navigateurs car ils doivent respecter la norme HTTP qui spécifie comment ce transfert de fichiers s'effectue.

Tous les navigateurs ont donc implémenté un menu de sélection de fichiers sur l'ordinateur ou sur un accès réseau, et le transmettent ensuite au serveur. Cela implique généralement l'utilisation d'une fenêtre modale de sélection de fichiers dont l'implémentation dépend de l'environnement de bureau, mais chaque navigateur peut avoir sa propre implémentation.

Problèmes causés par l'automatisation des tests

Cela entraîne deux types de problèmes lors de l'automatisation de cette procédure dans un test

  • Problème 1: Le logiciel de test doit pouvoir s'interfacer avec la partie "bureau" du navigateur. Dans ce cas, s'appuyer sur la page HTML et le DOM ne suffit pas, il faut soit récupérer et reconnaître la structure interne des composants et des contrôles des navigateurs, soit utiliser la reconnaissance graphique.

  • Problème 2: La "sélection de fichiers" peut varier fortement d'un navigateur à l'autre, ce qui nécessite des adaptations en fonction du navigateur utilisé.

Solution au problème 1

Agilitest est une solution multicanal

Agilitest est une solution de test intégrée qui prend en charge l'utilisation de différentes technologies d'application (web, desktop...) au sein d'un même test.

L'outil de capture d'Agilitest permet de basculer entre DOM et Desktop.

  • Le problème 1 est facilement résolu par Agilitest :

Dans votre exécution du test, passez à l'étape du téléchargement.

Lorsque la fenêtre de sélection des fichiers s'ouvre, ouvrez l'outil de capture.

Pour ce faire, cliquez sur l'outil de capture dans l'éditeur.

outil de capture

Appuyez ensuite sur la touche "ALT"de votre clavier ou cliquez sur le bouton correspondant pour passer du mode de reconnaissance des composants DOM au mode de reconnaissance des composants desktop. mode de reconnaissance des composants du bureau.

mode système

Vous pourrez ensuite naviguer dans la fenêtre de sélection des fichiers.

💡 Conseil

Pour plus de robustesse, nous vous conseillons de placer un fichier dans une arborescence facilement accessible de votre système de fichiers que vous pourrez reproduire partout, par exemple en "accès rapide" sous l'explorateur Windows.

Solution auproblème 2

Agilitest sait comment gérer le comportement spécifique des navigateurs

Le problème 2 peut être résolu à l'aide de fichiers de données (CSV) appelés sous-scripts dans Agilitest :

Les sous-scripts établis via un fichier de données (CSV) doivent respecter la combinaison suivante :

  1. Appeler un premier sous-script alimenté par le paramètre "browser" dans la colonne du fichier CSV.
  2. Récupérer les noms des navigateurs pour itérer le lancement du même test sur plusieurs navigateurs.
  3. Appeler les sous-scripts suivants dont le nom de script est composé à partir du paramètre "browser" du premier sous-script.

Exemple :

Utilisez le nom du navigateur pour personnaliser le nom du script exécuté : script_chrome.ats, script_firefox.ats, etc...

La solution proposée permet de gérer les différences de comportement des navigateurs. Cependant, nous ne recommandons pas de l'utiliser pour les opérations suivantes, qui sont gérées directement par Agilitest pour tous les navigateurs :

  • Naviguer vers une URL, vers la page précédente, vers la page suivante, vers la page d'accueil...
  • Fermer la fenêtre
  • Changement d'onglet

Cela rendrait vos tests non génériques, ce qui n'est pas souhaitable.


Vous avez encore besoin d'aide ?
Contacter le support

Gestion des exécutions - TestNG

Il est possible d'utiliser un mode d'exécution compilé en Java en dehors du mode d'exécution et d'édition spécifique de l'éditeur Agilitest. Ce mode d'exécution compilé Java est plus rapide et destiné à être utilisé pour un test ou un groupe de tests dans un projet.

Ce mode de construction se trouve sur la page de gestion des exécutions.

Gérer l'exécution des projets

L'accès à la gestion des exécutions se fait via l'explorateur de projets.

Cliquez sur le menu puis sélectionnez "Gestion des exécutions".

gestion des exécutions

Agilitest ouvrira un onglet avec différentes parties :

page de gestion des exécutions
  • Project Builder (1) : Permet de configurer, de générer, d'exécuter et éventuellement de produire et d'ouvrir les rapports correspondant aux exécutions.
  • Lignes de commande (2) : Vous pouvez utiliser la ligne de commande pour lancer l'exécution de ATS à partir d'une commande Windows. Cette commande doit être exécutée à la racine du projet ATS . Vous pouvez copier ces éléments dans un fichier .bat ou .ps1 pour lancer toutes les exécutions que vous avez configurées sans passer par Agilitest.
  • Exécutions (3): Ce menu permet de configurer les exécutions de TestNG, leurs variables et leurs scripts.

Qu'est-ce qu'une exécution TestNG ?

Toutes les exécutions ATS conçues par Agilitest sont exécutées sous Java. TestNG est un framework qui a été créé pour permettre l'exécution de ces tests en Java.

Les exécutions TestNG, aussi appelées"Suites", sont des exécutions créées dans Agilitest à partir d'un ensemble de scripts et de paramètres. Ces exécutions peuvent être exécutées par Agilitest, mais elles sont également exportables vers des environnements compatibles avec TestNG qui peuvent rejouer les tests sans nécessiter de configurations complexes, comme Jenkins et ses Jobs.

Comment créer une exécution

Une exécution correspond à la définition d'un sous-ensemble de tests de projet, c'est-à-dire de scripts, que vous pouvez rejouer en une seule exécution.

Pour définir une exécution, cliquez sur le bouton"Ajouter" dans l'onglet des exécutions.

bouton d'ajout

Comme mentionné ci-dessus, une Suite doit être composée de plusieurs scripts.

Pour ajouter des scripts, sélectionnez votre Suite puis cliquez sur "Importer des scripts"dans la boîte dédiée.

bouton d'importation de scripts

Vous pouvez également glisser-déposer des scripts à partir de l'explorateur de projets.

Sélectionner des forfaits

L'onglet"Packages" affiche tous les répertoires de votre projet et vous permet de définir, pour chaque répertoire, si les fichiers ATS qu'il contient doivent être inclus ou exclus de la sélection.

Indiquez quels répertoires doivent être utilisés pour récupérer les scripts, et ceux qui ne le sont pas.

ajouter une page de paquets

Il n'est pas nécessaire que les fichiers aient été ajoutés à l'onglet script.

Paramètres d'exécution

Une fois votre exécution créée, vous pouvez lui attribuer des paramètres d'exécution qui affectent le niveau de détail des rapports générés.

Pour configurer ces paramètres, cliquez sur le " crayon " bleu.Crayon"bleu sur la ligne de votre exécution.

bouton crayon

Un ensemble d'options permet de définir la qualité des rapports produits lors du lancement de l'exécution :

Niveau des journaux

niveau des journaux

Les différents niveaux d'enregistrement sont les suivants :

  • Silencieux
  • Erreur
  • Info
  • Avertissement
  • Tous

Ils sont classés par ordre décroissant de détail.

Générer des rapports

Cochez la case "Générer des rapports"pour les générer à la fin de l'exécution.

activer les rapports

  • Rapport visuel

Pour le rapport visuel, vous devrez spécifier la qualité de l'ATSV Rapports vidéo que vous allez générer.

Les différentes options sont les suivantes :

rapport visuel
  • Taille : Pour optimiser la taille du fichier ATSV
  • Vitesse : pour optimiser la vitesse d'exécution du test
  • Qualité : Pour optimiser la qualité des images
  • Qualité maximale : Pour optimiser la qualité des images au maximum

  • Rapport XML

Un rapport au format XML peut être généré et travaillé avec une solution BI (Jasper, Talend, etc...).

Variables d'exécution

Les variables d'exécution sont des variables que vous définissez dans le menu de gestion des exécutions et qui apparaîtront comme variables d'environnement dans tous les tests appartenant au même projet.

variables d'exécution

Vous trouverez les variables d'environnement dans le menu des valeurs spéciales.

variable environnementale

Or with the command: $env(<Valeur_Variable>)

variable d'environnement dans une action

Les variables d'environnement vous permettent de gérer différents environnements d'exécution, qui utilisent tous la même base de test.

Les variables d'environnement peuvent être surchargées pendant l'exécution, soit sur la ligne de commande, soit avec le système utilisé pour lancer les exécutions (Jenkins, GITLAB CI, AzurDevops).

Sélection des groupes

Les groupes de test vous permettent de filtrer les scripts que vous exécutez en fonction des groupes auxquels ils sont associés.

Les gestion des groupes accessible depuis l'explorateur de projet, permet de créer, gérer et supprimer des groupes.

bouton de gestion des groupes

Chaque projet a sa propre gestion de groupe et chaque suite d'exécution a sa propre configuration de filtre.

Il existe deux façons de filtrer les groupes :

  • En incluant: Tous les scripts appartenant à ce groupe sont exécutés.
  • Par Exclusion: Tous les scripts sont exécutés à l'exception de ceux qui appartiennent à un groupe sélectionné.

Lancer une exécution avec Agilitest

Une fois votre exécution créée, assurez-vous qu'elle est sélectionnée, comme l'indique la coche sur votre ligne Suite.

suite sélectionnée

Vous pouvez également sélectionner plusieurs suites à exécuter l'une après l'autre.

Plusieurs suites peuvent également être exécutées à l'aide de Job Jenkins.

Pour lancer l'exécution de votre Suite, vous devez suivre les étapes ci-dessous, dans l'ordre :

lancement d'une exécution
  1. Générer : Cette fonction génère les fichiers Java correspondant aux tests ATS sélectionnés.
  2. Compile: Cette fonction permet de compiler les fichiers Java correspondant aux tests ATS sélectionnés.
  3. Exécuter: Agilitest ouvrira une console et rejouera tous les tests sélectionnés dans l'exécution.

Il y a deux options facultatives à ajouter avant de lancer l'exécution de Suite (étape 3) :

paramètre d'exécution
  • Ouvrir les scripts qui ont échoué: À la fin de l'exécution, cette option permet d'ouvrir tous les scripts qui n'ont pas abouti.
  • Générer des rapports: A la fin de votre exécution, votre rapport Suite sera généré, et pourra également être ouvert si vous cochez l'option suivante. Vous pouvez choisir *Niveau de détail du rapport une fois que cette option a été cochée.

💡 Conseil

Cette console ne doit être utilisée que pour la vérification "rapide" des scripts dans Agilitest. Pour des lancements de scripts plus longs, il est préférable d'utiliser un terminal Windows ou le raccourci "CMD" que vous pouvez créer dans l'onglet de gestion des exécutions.

bouton de raccourci

Vous avez encore besoin d'aide ?
Contacter le support

En-têtes de scripts

En plus des tests et contrôles à effectuer, le format ATS permet de définir un ensemble de méta-données très utiles pour caractériser l'ensemble de vos tests.

Ouvrir l'en-tête du script

Pour accéder à l'en-tête du script, cliquez sur l'icône "Données d'en-tête de script"en haut à droite de la fenêtre de l'éditeur de script.

bouton de données d'en-tête de script

Vous verrez alors apparaître un sous-menu dont l'activation modifiera l'affichage de votre éditeur en fonction des informations à afficher :

sous-menu de l'en-tête

Actions

actions

Vous revenez à l'affichage dans l'éditeur d'actions de test. Par défaut, cette possibilité n'est pas activée.

En-tête

action de l'en-tête

Pour vous permettre d'accéder aux informations de l'en-tête du script :

fenêtre d'information

Les éléments suivants sont affichés :

  • Auteur: La personne ou le groupe qui a réalisé le test.
  • Description: Définition du contenu du test. Ce champ accepte le code HTML. Vous pouvez également ajouter un ensemble de métadonnées qui seront reproduites telles quelles dans le script ATS : numéros d'exigences, etc.
  • Conditions préalables: Quels sont les liens avec d'autres fichiers, ou la disponibilité des environnements, etc.
  • Groupes: Les groupes auxquels le test est affilié.

ATS code

ats code

En cliquant sur "ATS Code", le code ATS brut correspondant au test en cours d'édition s'affiche.

Ce menu permet de copier le code de test pour l'envoyer à un correspondant qui pourra le rejouer.

ats onglet code

🔸 Attention

Cet onglet ne permet pas de modifier directement le code ATS .

Lorsque vous recevez un e-mail ou un fichier contenant le code ATS , la procédure pour l'importer dans Agilitest est la suivante :

  • Créez un nouveau script vide
  • Sélectionnez le code ATS dans votre éditeur de courrier électronique, votre bloc-notes, etc.
  • Déposez le code directement dans la fenêtre vide de l'éditeur Agilitest.
  • Agilitest lira le code et régénérera les actions correspondantes.
  • Cliquez ensuite sur Exécuter

Il est également possible de glisser/déposer ou de copier/coller des lignes de code directement dans l'éditeur Agilitest. Soit directement dans un script, ce qui ajoutera les nouvelles actions correspondant au code, soit dans un répertoire, ce qui créera un nouveau script.

Cela fonctionne également avec du texte. Si vous prenez un texte quelconque (un paragraphe d'un article web, par exemple), vous pouvez le glisser-déposer dans l'éditeur Agilitest, qui le traduira en une action de commentaire. Cette action peut être utilisée pour structurer un test ou pour vérifier le texte, par exemple.

Code Java

code java

En cliquant sur " CodeJava ", le code Java généré lors de l'exécution du test s'affiche.

Il est évident que les fichiers Java correspondant aux fichiers de test ATS ne peuvent pas être modifiés directement.

Fermer

bouton de fermeture

Ce bouton ferme complètement le script. Il le sauvegarde s'il n'a pas été sauvegardé.

Vous avez encore besoin d'aide ?
Contacter le support

Menu des paramètres

Lors de la première utilisation d'Agilitest ou en cours d'utilisation, vous pouvez configurer le logiciel pour optimiser son utilisation. Agilitest fonctionne principalement avec les package ATS et Java (JDK) qui seront utilisés pour créer, maintenir et exécuter des projets automatisés.

En haut à droite de l'éditeur se trouvent plusieurs menus d'assistance, dont le menu "Configurations".

bouton "paramètres" dans l'éditeur

Cliquez sur l'onglet "Configurations" pour ouvrir la fenêtre dans l'éditeur

Page des paramètres

Configurations d'Agilitest

Rapport d'erreur

Vous pouvez activer les rapports d'erreur (ou logs) en cochant la case "Rapports d'erreur".

rapport d'erreur

Trois options de logs sont disponibles :

  • Les logs de démarrage, au cas où Agilitest se bloquerait au lancement.

Ensuite, les logs d'exécution des tests qui afficheront les erreurs techniques (liées à un driver, pas des erreurs fonctionnelles) :

  • Pour ouvrir les logs courants, vides par défaut, qui affichent les derniers logs créés
  • Pour ouvrir le répertoire des logs dans votre explorateur Windows et avoir accès à l'historique des journaux

Langues

Dans ce menu de configuration, vous pouvez également changer la langue en anglais ou en français.

choix du français ou de l'anglais

Outils obligatoires

Il existe deux conditions préalables au bon fonctionnement d'Agilitest : le package ATS et le JDK.

Configurations d'ATS

Agilitest nécessite une librairie ATS à jour pour fonctionner.

ats paramètres

À partir de ces configurations, vous pouvez :

  • Créer une configuration: Ceci créera une configuration globale de ATS dans le système. En cliquant dessus, vous pouvez modifier la configuration.
  • Télécharger les composants de ATS
  • Télécharger ATS-OpenCv
  • Créer une configuration Neoload
  • Ouvrir un répertoire Maven
  • Ouvrir un répertoire ATS

Comment configurer ATS?

Il est également possible de configurer certaines fonctions de l'éditeur Agilitest via le fichier de configuration .atsProperties.

Pour accéder aux propriétés de ATS , cliquez sur le bouton "modifier la configuration" des paramètres de ATS

bouton d'édition de la configuration

Les paramètres actuellement autorisés sont les suivants :

  • Nombre par défaut d'exécutions  de chaque action dans l'éditeur avant de décider d'un échec. Par défaut, il est fixé à 10.
code maxtry

  • Positionnement des fenêtres ouvertes automatiquement par l'éditeur. Par défaut, les coordonnées du coin supérieur gauche sont fixées à x=20 et y=20.
  • Dimensionnement des fenêtres ouvertes automatiquement par l'éditeur : largeur et hauteur fixées par défaut à 1500 x 960
code de position et de taille de la fenêtre

  • Gestion du "timeOut" sur l'exécution des scripts et le chargement des pages web. Par défaut, il est fixé à 60ms et 120ms.
Code TimeOut

  • Gestion des chemins d'accès aux différents navigateurs et des temps d'attente spécifiques pour chacun d'entre eux :
chemin d'accès aux navigateurs

  • Gestion des chemins d'accès aux différentes applications de bureau Windows installées sur l'ordinateur. Un raccourci sera automatiquement créé à partir du menu "Applications" dans l'action de démarrage d'un site canal.
chemin d'accès aux applications windows

Vous trouverez l'application enregistrée dans les propriétés directement dans les applications lorsque vous ouvrirez un canal

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/6091037db25653a59aa30cfc_image-51.png

🔸 Attention

Les chemins d'accès devront être adaptés en fonction de votre configuration.

Configuration de Java (JDK)

Java permet de charger, de compiler et d'exécuter des projets ATS .

Dans le menu de configuration, il est possible de télécharger le JDK ou de saisir le chemin d'accès à un JDK existant sur votre ordinateur.

paramètres java jdk

🔸 Attention

Vous avez besoin d'au moins une version 11 du JDK pour que Agilitest fonctionne.

Il est également possible à partir de cette interface d'ajouter des arguments d'exécution Java pour le lancement des tests en cliquant sur le bouton "Ajouter un argument".

ajouter un argument

Connexions externes

Serveurs ATS Mobile Station

Il est possible de configurer un serveur ATS Mobile Station pour qu'il se connecte automatiquement au serveur configuré lors de vos tests mobiles.

En cliquant sur le bouton "Ajouter", il vous sera demandé de saisir l'adresse IP et le port, qui seront récupérés directement à partir de l'interface de la station mobile.

ats serveurs de stations mobiles

Vous pouvez consulter notre documentation sur les tests mobiles.

Comptes GIT

Le compte Git dans Agilitest permet de cloner un compte Git existant et donc d'utiliser un projet Git.

Cliquez sur le bouton "Ajouter" pour ajouter un compte

Comptes Git

Saisissez ensuite les informations relatives à votre compte Git.

Entrée dans le compte Git

Vous avez encore besoin d'aide ?
Contacter le support

Outil de capture

▶️ Vous pouvez trouver notre tutoriel sur l'outil de capture sur notre Youtube canal.

L'outil de capture Agilitest est un composant essentiel pour sélectionner les éléments de l'interface utilisateur à capturer et les réutiliser dans les tests comme cibles d'action.

Qu'est ce que l'outil de capture ?

Lors d'un test manuel ou automatisé, il est essentiel de définir la cible de chaque action programmée dans le scénario. Par exemple, une action de clic nécessite un élément cible avec lequel interagir afin que le test clique sur le bon bouton, ou le bon élément d'interface.

L'outil de capture Agilitest définit ces cibles d'action. Il permet d'identifier les composants de vos applications, pour mettre en place des règles de détection adaptées avec les attributs pertinents.

L'outil de capture permet de survoler les éléments de l'interface graphique de votre web, mobile, desktop, ou les structures de données (XML pour vos webservices SOAP, JSON pour vos webservices REST).

Pour chaque élément ainsi survolé, l'outil de capture vous présente l'arbre dans lequel il se trouve, et les attributs qu'il possède.

Qu'est-ce que le DOM ?

C'est le même outil de capture qui vous permet de capturer les balises HTML du DOM(Document Object Model) de vos applications web, les Widgets de vos applications de bureau ou mobiles, ou une présentation graphique des structures de données de vos webservices.

En ce sens, l'outil de capture Agilitest est graphique, polyvalent, et au service de l'aspect multicanal.

Le DOM est une représentation HTML d'une page web, qui définit la structuration des différents composants de la page.

Le DOM peut être vu comme un arbre où chaque élément peut avoir zéro ou plusieurs enfants, qui peuvent eux-mêmes avoir zéro ou plusieurs enfants.

Example : The DOM always starts from a root element: the <html> tag. This tag has children (<head>; <body>) which therefore have <html> in common as a parent. The content of your <body> tag can notably contain links, buttons, blocks etc.…

💡 Conseil

Pour mieux comprendre le HTML :

  • Opening tag <>, closing tag </>
  • Élément, élément parent, élément enfant et élément frère.
  • Processing a component of <iframe> type
  • An <input> tag implies a parent <form> tag (often rich in attributes)
  • A <li> tag implies a parent <ol> or <up> tag (often attribute-rich)

Comment ouvrir l'outil de capture

Pour ouvrir l'outil de capture, vous devez d'abord démarrer un canal et avoir le site web ouvert dans le cadre d'un test web.

Une fois que vous avez créé votre projet et ouvert votre canal, vous pouvez ouvrir l'outil de capture en cliquant sur le bouton correspondant dans le canal menu de gestion.

icône de l'outil de capture dans l'éditeur

Le filtre de capture est symbolisé par un pattern sous forme de petites croix qui sont positionnées devant le canal (l'écran de l'application à tester). Ce filtre sert à délimiter la zone de capture.

outil de capture filtre au-dessus de la page web
Le filtre de l'outil de capture est activé

Un autre indicateur que l'outil de capture est activé est la fenêtre de capture qui apparaît en haut à gauche.

fenêtre de capture

Vous pouvez appuyer sur la touche Shift de votre clavier pour cliquer sur des éléments de la page Web sans avoir à fermer l'outil de capture. Cela permettra d'ouvrir un menu déroulant ou d'afficher d'autres éléments qui n'apparaissent pas nécessairement.

🔶 Avertissement

Le pattern correspond à la taille initiale de canal qui est définie dans sa configuration ATS . Si le canal est redimensionné manuellement, parfois la synchronisation avec le canal fonctionnera et le filtre correspondra à la taille modifiée du canal. Cependant, dans d'autres cas, le filtre ne correspondra pas à la taille du canal car il ne sera désynchronisé avec le driver canal. Il sera donc nécessaire de fermer le canal puis de le rouvrir pour que le driver se synchronise à nouveau.

Utilisation de la capture

L'outil de capture Agilitest est composé d'une "fenêtre de capture".

fenêtre de capture

Cette fenêtre peut être déplacée de gauche à droite, notamment lorsqu'elle cache un élément qui vous intéresse.

Cette fenêtre de capture est composée de 3 boutons principaux :

  • Système (Alt): Bascule entre le mode de capture HTML et le mode de capture système. Par défaut, l'outil de capture sera placé sur la vue HTML. Pour changer de vue, vous pouvez cliquer sur le bouton système ou appuyer sur la touche ALT de votre clavier. Le changement de mode de capture nécessite le rechargement de l'outil de capture, ce qui peut prendre quelques secondes.
  • Code source: Affiche le code source de la page.
  • Fermer: Désactive le mode de capture.
  • Les coordonnées x et y: correspondent aux coordonnées (x : abscisse et y : ordonnée) du curseur.

Le passage de la souris sur chaque élément de votre application est accompagné d'une info-bulle précisant son type (soit le nom de la balise HTML pour le web, soit le nom du composant GUI pour le bureau).

capturer identifier un élément

Pour capturer un élément, vous devez placer votre souris sur l'élément souhaité, puis appuyer sur la touche CTRL de votre clavier. Vous n'avez pas besoin de cliquer sur la souris, il suffit d'appuyer sur la touche CTRL.

Cela fera apparaître la fenêtre"Parents de l'élément capturé" qui affiche le chemin depuis la racine de l'application jusqu'à l'élément qui vient d'être ciblé.

fenêtre parent de l'élément de capture

Les éléments parents se déplient comme un accordéon pour afficher plus de détails sur les attributs. Les attributs doivent être cochés en fonction de ce que l'on souhaite conserver pour effectuer la détection de l'élément.

fermeture de la fenêtre des parents de l'élément capturé

Lorsque la souris se déplace à travers les différents "nœuds" du chemin, le cadre bleu autour de votre élément dans la page Web se positionne pour identifier l'élément que vous avez déplacé.

élément capturé souligné

Le composant est affiché avec tous les attributs qui le définissent. L'objectif est de sélectionner un ou plusieurs attributs qui définiront le composant et le feront reconnaître de manière unique dans la page. C'est ce qu'on appelle un "Locator".

Les attributs

dans la fenêtre des parents de l'élément de capture

Les attributs sont : type, classe, id, nom, ou même des attributs CSS pour les applications web. Ou ils peuvent être : TitleBar, Button, TabItem pour les applications de bureau.

Agilitest ne propose que les attributs qu'il trouve. Cela signifie qu'il n'invente pas les ids, il les prend dans le DOM.

S'il n'y a pas d'id proposé, cela signifie que l'application est développée telle quelle. Deux situations possibles :

  1. Les développeurs n'ont pas développé d'id, peut-être à cause du développement Agile ou par manque de temps. Vous pouvez donc leur donner un rapport sur votre test et leur dire si des ids sont manquants. En tant que QA, votre rôle est aussi d'auditer les bonnes pratiques et la qualité au sens large. En tant que testeur fonctionnel, il est plus de bon sens de faire remarquer aux développeurs que cela vous prend du temps qui n'est pas nécessaire pour identifier tel ou tel composant alors qu'un id serait un gain de temps dans la configuration de vos tests.
  2. À l'inverse, si vous utilisez des cadres de développement, certains cadres n'ont pas de "bonnes pratiques" à respecter et n'ont donc pas d'identifiant.

Avertissement concernant les attributs "texte

Dans le contexte de l'automatisation classique des tests, il n'est pas forcément bon d'utiliser l'attribut text, cependant, s'il n'est pas possible de faire autrement ou si votre texte ne changera pas, ce n'est pas un problème.

Voici quelques raisons pour lesquelles l'attribut "text" peut poser problème :

  • La reconnaissance de l'élément ne fonctionne plus dans le contexte multilingue de votre solution.
  • Certains navigateurs sont sensibles à la casse (et d'autres non), de sorte qu'une lettre majuscule tend à réduire la robustesse et la portabilité de votre test.
  • Le traitement des sauts de ligne et/ou des espaces peut varier d'un navigateur à l'autre.

Une fois que vous avez sélectionné l'attribut "texte", vous pouvez cliquer dessus pour modifier automatiquement les valeurs à l'aide d'expressions régulières utiles pour éviter ces derniers problèmes.

ShadowDom

Le Shadow DOM (Shadow Document Object Model) est utilisé pour éviter les conflits de style et pour isoler le code des composants, ce qui est particulièrement utile lors du développement d'une interface utilisateur complexe. Agilitest utilise le ShadowRoot, qui est un composant de la technologie ShadowDom, lors de sa recherche d'éléments afin d'affiner cette recherche et de rendre vos scripts plus précis.

a capturé les parents de l'élément avec shadowRoot

Agilitest détecte automatiquement la capture d'un élément de type ShadowRoot dans la fenêtre de capture. Vous pourrez reconnaître ces éléments grâce à leurs pictogrammes et à leur cadre en pointillés.

Les composants ShadowRoot qui composent l'élément capturé apparaîtront dans l'élément d'interface de l'action.

Composants de ShadowRoot

Vous aurez également la possibilité de gérer vos éléments et de les déclarer dans ShadowRoot directement dans l'éditeur d'actions.

ShadowRoot a déclaré

Identifier les éléments d'iFrames

Certaines pages HTML incluent des iFrames (c'est-à-dire des cadres en ligne) dans leur conception, notamment pour insérer dans la page des éléments provenant d'un autre serveur.

Pour trouver des éléments sur ces pages HTML, vous devrez sélectionner chaque iFrame dans le DOM de la page, sinon vous ne pourrez pas trouver les enfants de cette IFRAME sur la page.

Exemple :

Sélectionner l'iFrame qui vous permet de le reconnaître. qui vous permet de le reconnaître.

Attributs de l'iframe

Sélectionnez les attributs des enfants que vous souhaitez retrouver automatiquement dans cette iFrame.

attributs des enfants

L'objet est alors facilement reconnaissable.

Fonctions avancées dans le locator

Une fois que les attributs permettant de définir votre composant sont sélectionnés, plusieurs étapes peuvent être réalisées avant de placer votre élément d'interface dans le script en ajoutant une action correspondante.

Statistiques sur l'élément capturé

Dans la fenêtre"Parents de l'élément capturé", le bouton Statistiques vous permet de vérifier si les attributs cochés permettront de reconnaître de manière unique l'élément sur la page.

action statistique sur un élément

Un clic sur le bouton "Statistiques" confirme ou infirme l'unicité de l'élément vérifié selon la règle de détection choisie. Une coche verte apparaît pour confirmer l'unicité de l'élément. Il est possible de cliquer sur la loupe de la coche verte pour mettre en évidence l'élément sur la page web.

Si la coche verte n'apparaît pas lors de la vérification des statistiques, il y a plusieurs possibilités :

  1. Occurrences multiples : Un avertissement apparaît pour signaler les occurrences multiples sur la page. Dans ce cas, vous pouvez ajouter de la précision et remonter dans les éléments supérieurs en ajoutant des attributs à votre élément ou, si plusieurs occurrences apparaissent, il est possible de cibler l'occurrence qui vous intéresse à partir de son numéro d'index.Exemple: Si une image apparaît toujours en 2ème occurrence dans l'ordre des composants de la page, alors vous pouvez sélectionner la 2ème occurrence parmi celles indiquées....
  2. Une croix rouge : Cela signifie que l'élément n'est pas trouvé. Vous devrez trouver un autre moyen de reconnaître l'élément.

Expressions régulières (regex)

Les expressions régulières peuvent être utilisées dans l'outil de capture Agilitest pour faire correspondre des parties d'attributs. L'expression régulière vous permet de gérer des données dynamiques.

Une recherche basée sur un texte long n'est pas recommandée, car les espaces vides et les sauts de ligne peuvent entraîner des erreurs.

Exemple : Certaines bibliothèques JavaScript sont connues pour randomiser des parties d'identifiants ou de classes. Si nous regardons un identifiant écrit "btn-XYhSj02-01". Nous supposons que la première partie "btn" est fixe et la deuxième partie "01" également, seule la partie centrale est susceptible de varier.

Nous pouvons alors faire correspondre cet identifiant avec cette expression régulière :

btn -.{7}-01

expression régulière dans la capture

L'utilisation des expressions régulières apporte une couche supplémentaire de difficulté, mais leur utilisation permet de traiter simplement les cas les plus délicats. La difficulté associée aux expressions régulières est donc un moindre mal.

Lorsque vous cliquez sur le texte d'un attribut, cela ouvre l'encart permettant de définir une expression régulière.

boutons pour regex

Accès à deux boutons pour :

  • Gérer la casse des caractères
  • Gérer les espaces

💡 Conseil

Expressions à retenir :

(?i) : Signifie que l'expression est totalement insensible à la casse.

(?s) : Insensible au formatage des caractères spéciaux (sauts de ligne, espaces, etc.)

.* : Pour former n'importe quel caractère chaîne de caractère. Le point représente tous les caractères possibles (A-Z, 0-9 et caractères spéciaux) et l'étoile indique que le motif précédent (c'est-à-dire le point) est répété n fois.

[a-z]{3} : Means 3 letters between a to z.

Déposer l'élément dans le script

L'icône "glisser-déposer" dans la fenêtre parent de l'élément capturé vous permet d'utiliser cette règle de détection dans l'élément d'une action Agilitest.

Le glisser-déposer peut être placé soit après les dernières lignes du test, ce qui créera une action,

Créer une action avec l'élément capturé

Soit à l'intérieur d'une ligne d'action existante dans la section"Élément d'interface".

glisser dans un élément d'interface vide

Une fois que l'élément a été inséré dans une action de votre script, vous pouvez le mettre en surbrillance dans votre application pour voir exactement à quel objet il correspond.

Pour ce faire, lorsque votre canal est ouvert, cliquez sur le bouton avec l'icône de la loupe pour mettre en évidence l'élément dans votre application.

Recherche d'un élément par son index

Lorsqu'un locator permet de retrouver plusieurs éléments, il est possible de préciser par un index celui que l'on veut manipuler.

Exemple : Dans un tableau où le nombre de rangées est représenté par l'élément "TR"Si vous spécifiez l'index #2 dans cet élément contenant plusieurs occurrences, alors le texte de la deuxième ligne du tableau sera récupéré.

Dans l'éditeur, remplissez l'index d'un élément multiple en cliquant sur l'icône Lego.

Bouton Lego

Ensuite, à droite de l'élément, vous verrez un # et deux contrôles haut/bas qui identifient par un index l'élément défini par votre locator.

index

En validant, Agilitest vous permet de récupérer des attributs spécifiques d'un élément identifié par son index.

Reconnaissance graphique des éléments

La reconnaissance graphique est possible avec Agilitest, elle permet de détecter la présence d'un élément sur l'application et de compter le nombre d'occurrences (format PCRE). S'il n'est pas souhaitable d'abandonner le système de capture des attributs HTML, la reconnaissance graphique est complémentaire dans des cas d'utilisation spécifiques.

Exemple : Lorsque l'élément souhaité n'a pas d'id ou de classe utilisable, la reconnaissance graphique est utilisable.

Lorsque l'application comprend du code Java, Flash ou 3D, l'outil de capture ne sera pas toujours en mesure de plonger dans l'arborescence de l'application pour présenter les différents éléments de l'interface de manière structurée. Dans ce cas, la reconnaissance graphique permet d'effectuer des actions ou des contrôles même en présence d'un framework de programmation non coopératif avec Agilitest.

Pour utiliser la reconnaissance graphique, ouvrez l'outil de capture. Au lieu de vous positionner sur un composant et d'appuyer sur la touche CTRL, pour effectuer une capture graphique, vous devez sélectionner la zone que vous souhaitez capturer.

En utilisant la souris, maintenez votre clic gauche enfoncé pour sélectionner la zone à capturer

capturer la reconnaissance des éléments graphiques

La sélection prendra une capture d'image de l'élément avec 3 boutons disponibles :

  • Arbre des éléments
  • Copier
  • Enregistrer
boutons d'éléments graphiques

Cliquez sur"Arbre des éléments" pour associer l'emplacement à la capture graphique puis faites glisser l'élément dans votre script et ajoutez-lui une action. Les possibilités sont les mêmes que pour un composant HTML classique.

🔶 Avertissement

Cet outil doit être utilisé avec parcimonie ; il peut être utile pour agir sur un bouton qui n'est pas reconnu, par exemple, mais il peut interférer avec la reconnaissance graphique.

Cibler un élément

Dans certains cas particuliers, il est obligatoire d'effectuer une opération sur une position très particulière du logiciel testé où l'utilisation d'un locator basé uniquement sur des attributs ne peut être utilisé.

Exemple :

Lorsque vous souhaitez cliquer sur une zone précise d'une image où le dernier élément visible par locator capturerait une zone plus grande que souhaitée.

Comme une image web d'une carte avec des ville dans un pays, ou un composant interne d'une application de bureau, etc...

Agilitest propose une solution qui permet de définir précisément le point sur lequel on veut exécuter des actions en spécifiant ses coordonnées cartésiennes par rapport au composant de la fenêtre.

Dans l'exemple ci-dessous,

position précise sur un élément

Si vous ne voulez cliquer que sur la Californie, mais que le dernier élément visible dans la structure HTML est l'image complète des États-Unis, vous devrez créer une coordonnée cartésienne pour le locator.

La définition des coordonnées cartésiennes du locator se fait en deux étapes :

  1. Sélectionnez le composant de référence

Commencez par sélectionner un locator standard, soit par ses attributs, soit par sa reconnaissance graphique.

élément de capture
  1. Ciblez le point d'action

Une fois que le locator est sélectionné, cliquez sur le bouton "Emplacement cible".

bouton de localisation de la cible

Vous pouvez alors cibler précisément le point sur lequel l'action doit être exécutée en cliquant directement dessus.

ciblant l'élément

Agilitest vous informe qu'un locator avec une cible cartésienne a été créé en ajoutant une cible sur le bouton drag and drop.

bouton glisser-déposer

Une fois que vous avez déposé votre locator dans l'éditeur, Agilitest génère une action avec des coordonnées cartésiennes.

action cible dans l'éditeur

Grâce à cette fonctionnalité, vous pourrez générer un locator à partir du composant select.

Problème éventuel avec un élément qui déborde

Afin de ne pas être intrusif avec le logiciel testé, Agilitest ne déploiera pas de plugin sur les navigateurs, ce qui signifie qu'il apparaîtra en surimpression sur les fenêtres de l'application testée.

Dans certains cas, cela peut entraîner des retards d'affichage entre les deux applications, en particulier lorsque des boîtes de sélection de composants sont affichées.

Si, en mode capture, Agilitest n'est pas parfaitement aligné sur la page sur laquelle vous voulez capturer des éléments,

Ensuite, vérifiez que votre système Windows n'a pas modifié automatiquement la taille des textes, applications et autres éléments affichés sur chacun de vos écrans. Ce paramètre doit être fixé à 100% pour que l'outil de capture Agilitest fonctionne correctement.

Pour ouvrir le menu d'affichage, faites un clic droit sur l'interface de votre bureau et sélectionnez "Paramètres d'affichage".

exemple

Définir le texte à 100 %.

L'intérêt d'un tel outil

Utiliser le code source d'une autre manière

L'outil de capture Agilitest offre des intérêts comparés au panel d'outils de développement offert par les navigateurs avec la touche F12 qui permet d'accéder au code source d'une page Web :

  • L'outil de capture Agilitest est multi-navigateurs : Chrome, Firefox, IE, Edge, Opera sont traités de la même manière ;
  • L'outil de capture Agilitest est multicanal et peut être utilisé sur : les applications web, les webservices, les applications de bureau, les applications mobiles ;
  • L'outil de capture Agilitest ne se contente pas de survoler les éléments, il affine les règles de détection et teste leur unicité sur l'écran de l'application ;
  • L'outil de capture Agilitest offre une reconnaissance graphique des éléments** en plus de la reconnaissance des attributs HTML.

Locator Agilitest vs. XPaths

agilitest locator vs xpath table

De nombreux logiciels de test utilisent XPath comme système d'interrogation et de détection des éléments d'une application.

La détection est souvent assistée, et permet une relative facilité dans la création d'une expression XPath. L'expression XPath est créée et utilisée, souvent sans que le testeur ait eu l'occasion de la lire et de l'examiner dans le contexte de sa connaissance de l'application.

Un enregistreur permet, lorsqu'il est activé, d'ouvrir un navigateur et d'y effectuer des actions (clics, saisie de données, etc.) qui seront ensuite transformées en script par l'enregistreur.

L'outil de capture a la même finalité, seule la saisie est manuelle.

Un des avantages du Xpath est le côté "absolu" du chemin, qui permet de trouver exactement le composant grâce au détail du chemin indiqué.

Cependant, si un élément change au sein de ce chemin, cela entraînera une indication erronée vers le composant. Ceci est particulièrement vrai avec les frameworks Javascript (comme ExtJS) qui randomisent les identifiants des éléments, ce qui les rend difficiles à utiliser.

Exemple: Si les développeurs ajoutent un DIV au sein du parcours ou ont réorganisé les composants, l'attribut utilisé pour reconnaître le DIV a évolué.

En outre, les expressions XPath générées automatiquement peuvent être lourdes à maintenir.

Agilitest propose le contraire :

L'idée est de ralentir autant que possible la reconnaissance du composant. Moins vous ajoutez de composants, moins vous risquez de rendre le test obsolète aux changements futurs, ce qui rend le test plus robuste.

Ce sont, à notre avis, deux raisons de ne pas utiliser la technologie XPath dans Agilitest :

  • Pas d'expressions XPath générées automatiquement sans examen par l'ingénieur en automatisation ou le testeur fonctionnel.
  • Pas de test systématique de KO après la mise à jour de l'application.

Vous avez encore besoin d'aide ?
Contacter le support

Composants SELECT / Combo boxes

▶️ Vous pouvez regarder notre tutoriel sur le composant SELECT sur notre Youtube canal.

Agilitest prend en charge les composants HTML SELECT et les boîtes combo pour les applications de bureau. Cela est nécessaire car ces composants ont une interface graphique et un comportement particulier : ils sélectionnent une ou plusieurs valeurs dans une liste déroulante.

Créer une action Sélectionner

Il existe deux façons de créer une action de sélection :

  1. Dans le menu d'action

Pour créer une action de sélection, cliquez sur le bouton "Sélectionner"dans le menu des actions

sélectionner une action

          2. Avec la capture d'un élément

Tout d'abord, vous devez capturer l'élément sur lequel vous souhaitez effectuer l'action.

Une fois que c'est fait, déposez l'élément dans l'éditeur et choisissez l'option action Sélectionner.

sélectionner une action

💡 Conseil

L'action SELECT fonctionne aussi bien sur une liste déroulante entièrement visible que sur une liste qu'il faut généralement faire défiler en cliquant. Pour la seconde option, il suffit de capturer l'élément principal de la liste.

liste d'éléments

Trois options sont possibles pour sélectionner un composant :

options de sélection
  • Avec l'index
  • Avec le texte
  • Avec la valeur

Une fois l'élément sélectionné, vous pouvez afficher les valeurs et les instructions pour les saisir en cliquant sur le bouton"Charger les valeurs".

bouton de chargement des valeurs

Vous pouvez cliquer directement sur ces valeurs pour les saisir au lieu de les saisir manuellement. Elles seront adaptées au type de sélection choisi.

Les valeurs chargées correspondent aux trois options :

0-1-2-3 = Index

Volvo - Saab = Texte

(volvo) - (saab) = Valeur

Pour la sélection du texte et des valeurs, vous pouvez utiliser une expression régulière, qui est intéressante pour filtrer de manière plus flexible.

Vous avez également la possibilité de "Garder les autres options sélectionnées" qui peut être appliquée dans le cas d'une liste à choix multiples. Elle permet de sélectionner plusieurs éléments dans une même liste.

Sélection de l'indice

L'indice correspond à la position de la valeur souhaitée dans une liste déroulante, en partant du haut et en commençant par 0.

Il suffit de cocher la case"Index" et de saisir la valeur souhaitée.

sélection de l'index

L'index ne doit pas dépasser le nombre de valeurs proposées, sinon aucun texte ne sera sélectionné.

Exemple :

Dans une liste déroulante de 4 éléments : Volvo, Saab, Mercedes, Audi.

Si vous souhaitez récupérer la valeur "Mercedes", vous devez saisir l'index "2", qui apparaît en troisième position, mais le décompte commence à 0.

Sélection de texte

Dans une sélection par texte, le texte sera sélectionné s'il correspond à une option possible proposée par la liste déroulante.

Exemple :

Dans une liste déroulante de 4 éléments : Volvo, Saab, Mercedes, Audi.

Si vous souhaitez récupérer la valeur "Mercedes", saisissez le texte "Mercedes" tel qu'il apparaît dans la liste.

sélection de texte

Sélection des valeurs

L'attribut value est une valeur supplémentaire fournie dans le code HTML et liée au texte affiché. Il permet de sélectionner un texte, mais pas d'en récupérer la valeur.

Là encore, cette valeur doit être proposée pour que le texte correspondant soit sélectionné.

sélection des valeurs


Vous avez encore besoin d'aide ?
Contacter le support

Gestion et explorateur de projets

Créer un projet

Ouvrir un nouveau projet

En haut de l'éditeur Agilitest, cliquez sur "Nouveau projet"

bouton nouveau projet

Agilitest va créer un nouveau projet et une arborescence de projet sous le répertoire sélectionné.

nouveau projet

Créez un nouveau composant

Pour créer un composant qui fera partie de votre projet, cliquez sur "Nouveau composant"

nouveau composant

Lorsque vous créez un nouveau composant, Agilitest vous permet de sélectionner les types suivants :

menu des composants

Créer un script ATS : Pour créer un nouveau script ou sous-script.

Créer un fichier CSV: Pour créer un fichier de données qui testera plusieurs données. (Data Driven Testing)

Créer un fichier JSON: Pour créer un fichier de données qui testera plusieurs données.

Créer un script Java: Cela vous permet d'appeler du code externe Java dans Agilitest.

Créer une exécution: Créer une exécution de tests afin de gérer la relecture de tous les tests d'un projet filtrés selon plusieurs critères.

Ouvrir un projet existant

Si vous avez déjà des projets existants mais qu'ils n'apparaissent pas dans l'explorateur de projets, vous pouvez les ouvrir directement via Agilitest.

Cliquez sur "Ouvrir un projet"

ouvrir un projet

Ensuite, sélectionnez le répertoire du projet à la racine et validez en cliquant sur "Sélectionner un dossier"

explorateur de projets

Le projet s'ouvrira alors dans l'explorateur de projet gilitest.

Supprimer un script

Vous pouvez supprimer vos scripts ATS en faisant un clic droit directement sur le script situé dans l'explorateur de projet.

bouton de suppression

Lorsque vous supprimez un script, une fenêtre apparaît pour confirmer que vous souhaitez supprimer le script sélectionné. Cette fenêtre indique que le script ATS supprimé sera envoyé dans la corbeille de votre système Windows.

Si la suppression du script est une erreur, vous pouvez simplement restaurer le script en le récupérant dans la corbeille.

Ensuite, pour faire apparaître le script récupéré, rechargez votre projet ATS dans Agilitest à partir du menu du projet.

recharger le projet

Présentation de l'explorateur de projet

L'explorateur de projet est un élément principal pour vous aider à naviguer dans Agilitest.

Il a été optimisé pour obtenir la meilleure visibilité de vos projets, pour faciliter la création, l'exécution et maintenance de vos tests et pour augmenter la productivité.

Il permet d'avoir une vision globale d'un projet et d'apporter des modifications globales ainsi que de limiter la méthode étape par étape.

L'explorateur de projet est composé de

  • Sélecteur de projet (1) : Vous pouvez sélectionner votre projet à l'aide d'une liste déroulante. Cela permet de mieux naviguer entre vos différents projets.
  • Menu du projet (2) : Les points de suspension permettent d'afficher les options et les pages relatives au projet sélectionné.
  • Sélection de la suite (3) : Une autre liste déroulante vous permet de définir rapidement la suite courante pour votre projet. Cette amélioration élimine les étapes fastidieuses de configuration de la suite sélectionnée.
  • Exécuton (4) : Pour exécuter la liste de lecture en cours.
  • Sélection de l'affichage (5) : Pour vous offrir une expérience plus personnalisée, une liste déroulante vous permet de choisir le type de vue que vous souhaitez voir apparaître.
  • Un ensemble d'actions (6): Ces boutons sont utilisés pour créer un nouveau composant, un nouveau fichier ou pour ouvrir la position du fichier dans l'explorateur Windows. Ces boutons sont différents selon la vue affichée.

Menu du projet

Cliquez sur les points de suspension pour afficher le menu du projet.

Dans ce menu, vous trouverez :

  • Gestion des exécutions : Pour gérer vos exécutions et vos Job Jenkins
  • Gestion des groupes : Pour ouvrir la fenêtre des groupes qui vous permet de créer et de gérer vos groupes
  • Propriétés du projet : Pour accéder aux propriétés de votre projet
  • Ouvrir dans l'explorateur système: Pour afficher votre projet dans l'explorateur Windows
  • Valider les scripts ATS : Pour tester la validité des scripts ATS du projet
  • Recharger le projet: Pour recharger votre projet actuel et afficher les nouvelles modifications.
  • Nettoyer les exécutions : Pour supprimer le contenu du répertoire cible dans le projet et nettoyer les exécutions.
  • Fermer le projet : Pour fermer le projet en cours dans Agilitest

Qu'est-ce qu'une suite sélectionnée ?

Une suite sélectionnée est une suite courante sélectionnée pour un projet. Chaque exécution possède des paramètres tels que des options de configuration que vous pouvez trouver dans le menu de gestion des exécutions.

Pour sélectionner une suite, cliquez sur le menu déroulant des suites.

suite sélectionnée

Le but de la sélection d'une suite pour un projet est de modifier les paramètres du projet à l'échelle globale et donc de faire varier les valeurs dépendantes de ces paramètres qui sont utilisées dans les scripts du projet.

Exemple :

Si vous choisissez l'exécution "A" avec le navigateur Chrome et l'exécution "B" avec le navigateur Firefox, lorsque vous utilisez le paramètre Navigateur dans un script, la valeur sera automatiquement Firefox pour l'exécution "B" et Chrome pour l'exécution "A".

Modifier la vue de l'explorateur de projet

Pour vous aider dans votre organisation et avoir une meilleure compréhension de votre projet, vous pouvez sélectionner la vue que vous souhaitez voir s'afficher dans l'explorateur de projet.

Pour ce faire, cliquez sur le menu déroulant permettant de sélectionner une vue pour l'explorateur.

vision du projet

Vue : ATS script

ATS vue du script
  • Affichage des scripts ATS : Pour afficher uniquement les scripts ATS de vos tests et leur répertoire dans un même projet.

Vue : Scripts Java

Vue du script Java
  • Affichage des scripts Java: Pour avoir une vue de tous les scripts Java créés et de leur répertoire dans un projet.

Vue : Fichiers de données

Vue DATA
  • Vue des données : Pour afficher tous les fichiers de données JSON/CSV et leur référentiel dans un projet.

Voir : Fichiers de ressources

Vue des fichiers de ressources
  • Affichage des fichiers de ressources : Pour afficher les fichiers intégrés dans un projet de test qui sont nécessaires pour la gestion du projet de test. Il s'agit d'images, de fichiers, etc. qui peuvent être utilisés pendant l'exécution des tests.

Vue : Groupes

  • Vue des groupes: Pour afficher tous les scripts ATS du projet par groupe.

Vue : Librairies Java

Vue des bibliothèques Java
  • Affichage des librairies Java : Pour afficher le contenu du répertoire "libs" (.jar, .zip, fichiers de classe)

Vue : Résultats d'exécution

Vue des résultats de l'exécution
  • Affichage des résultats d'exécution : Cela correspond à l'ensemble des fichiers générés suite à l'exécution d'un test, afin d'avoir une visibilité sur les éléments qui composent l'exécution. Ces fichiers "versatiles" sont modifiés à chaque exécution et n'ont pas vocation à être sauvegardés dans un projet de test.

Vous avez encore besoin d'aide ?
Contacter le support

Actions d'édition

▶️ Vous pouvez trouver un tutoriel sur comment éditer des actions sur notre chaîne Youtube.

Lors de la création de vos tests, vous interagirez avec l'éditeur Agilitest. L'éditeur vous permet de créer des actions et de gérer leurs exécutions afin d'améliorer la maintenance de vos tests.

Propriétés du script

Pour obtenir des informations globales sur vos scripts, vous pouvez consulter les propriétés des scripts.

Pour ce faire, faites un clic droit sur votre script et sélectionnez "éditer les propriétés".

La fenêtre des propriétés du script s'affiche.

Dans cette fenêtre, vous trouverez

  • La date de création de votre script
  • Le nombre d'actions
  • Le nombre d'indices
  • Le nombre de listes de lecture dans lesquelles il figure
  • Diverses notes
  • Liens associés au script

Créer des actions

Les actions créées seront ajoutées l'une après l'autre dans votre script. Il est possible de changer leur ordre manuellement directement dans l'éditeur.

Il existe trois façons de créer de nouvelles actions :

Menu Actions

Ce menu apparaît lorsque vous avez ouvert un script. Il contient les actions utilisées lors d'un test.

menu d'actions

Pour créer une nouvelle action, il suffit de cliquer sur l'une des actions du menu et elle sera ajoutée à l'éditeur.

Exemple :

Si vous souhaitez créer une action "Saisie de texte" cliquez sur l'action correspondante dans le menu,

saisir le texte action

Ensuite, l'action nouvellement créée apparaît, vide de toute information, dans votre script

nouvelle action sans info

Vous devrez compléter votre action manuellement ou en déposant un élément d'interface.

Action créée à partir d'un élément capturé

Une fois que votre élément est capturé avec l'outil de capture, cliquez sur "Glisser-déposer dans l'éditeur"

glisser-déposer

Tout en maintenant votre élément avec votre souris, faites-le glisser dans votre éditeur et placez-le sous une action pour faire apparaître "Créer une action"

créer une action popup

L'action générée est liée à un élément graphique de votre application.

Sélectionnez l'action que vous souhaitez effectuer sur votre élément.

actions contextuelles

Toutes les actions ne sont pas disponibles dans ce menu contextuel. Pour avoir accès à toutes les actions, vous pouvez consulter le menu des actions.

Copier et coller une action

En faisant un clic droit sur une action de votre script, ou un groupe d'actions, un menu contextuel avec différentes options apparaît.

clic droit sur une action

Ce menu vous permet de

  • Copier/couper/coller
  • Supprimer définitivement une action
  • Désactiver/activer une action ou un groupe d'actions

L'affichage d'une action désactivée sera grisé et une icône d'arrêt sera ajoutée.

action grisée

Elles ne seront pas exécutées pendant le script.

Actions actives

Vous savez qu'une action est sélectionnée lorsque sa couleur est gris foncé. C'est ce qu'on appelle une action active.

action active

Vous pouvez sélectionner plusieurs actions actives.

Pour ce faire, sélectionnez la première action, puis appuyez sur la touche MAJ de votre clavier et sélectionnez la dernière

Toutes les actions situées entre ces deux actions seront sélectionnées (cf. de l'action 1 à l'action 3).

Vous pouvez également utiliser la touche CTRL de votre clavier pour sélectionner séparément une ou plusieurs actions à ajouter dans un groupe d'actions actives.

Actions liées aux éléments de l'application

De quoi se compose une action ?

L'éditeur Agilitest donne des interprétations graphiques des actions qui composeront vos scripts. Le format ATS , qui est un langage de test, est un format texte qui décrit l'ensemble des actions.

présentation d'une action
  1. Chaque action possède un index qui s'additionne automatiquement et qui est numéroté en fonction de sa position dans le script (cf. index 2).
  2. A côté de l'index se trouve la nature de l'action, qui peut être paramétrée

Exemple :

Pour une action d'entrée, vous pouvez saisir le texte que vous souhaitez voir apparaître dans votre test, (cf. "Hello World ! $key(ENTER)" pour l'action dans la capture)

        3. Ensuite, sous la nature de votre action, vous avez l'élément d'interface et ses options. Dans les options, vous pouvez modifier, spécifier ou entrer manuellement le Locator, soit l'élément ciblé.

Actions sur l'élément d'interface

Cliquez sur l'icône de lego à droite de votre élément pour ajouter des attributs à votre élément.

icône lego

Saisissez ou modifiez des attributs

menu des attributs

Vous pouvez également cliquer sur l'élément pour ajouter des parents ou des enfants et spécifier leur type.

spécifier l'élément

Si votre locator, c'est-à-dire votre élément ciblé, peut récupérer plusieurs éléments sur une page, cliquez sur l'icône "#"pour spécifier l'élément à sélectionner en fonction de son ordre d'apparition.

élément d'indexation

💡 Conseil

Cette fonctionnalité peut être utile pour sélectionner une ligne ou une colonne spécifique dans un tableau.

Glisser-déposer un élément

Comme nous l'avons vu précédemment, vous pouvez créer une action en glissant-déposant un élément capturé dans votre action vide.

racine de l'application

Aussi, vous pouvez glisser et déposer un élément déjà utilisé dans une action précédente dans une nouvelle action.

glisser-déposer

Élément vide

Une action peut ne pas avoir d'élément.

racine de l'application

Cliquez sur l'application racine pour afficher les différentes options

options d'application de la racine

  • Ajout d'un élément d'interface: Cela permet de créer un élément avec des critères de recherche (type d'élément, parents, etc...).

Il est également possible de variabiliser l'indice de l'élément

💡 Conseil

Vous pouvez effectuer des modifications manuelles sur une interface système, mais nous vous recommandons d'effectuer ces modifications via l'application "Desktop" dans le cadre d'une action d'Ouverture de canal .

application de bureau

  • Boîte de dialogue : Cette fonction permet de gérer et d'exécuter des actions dans une boîte de dialogue.
boîte de dialogue

Pour plus d'informations, vous pouvez consulter la documentation sur l'automatisation d'une boîte de dialogue.

  • Enregistrement d'écran: Cette fonction permet de compter les formes dans une vidéo.
enregistrement de l'écran

Vous avez encore besoin d'aide ?
Contacter le support

Automatisation du Web

Agilitest supporte l'automatisation des applications web sur 5 navigateurs :

  • Chrome
  • Firefox
  • MSEdge
  • Courageux

Agilitest supporte les dernières versions des navigateurs grâce aux fréquentes mises à jour de ATS .

Dans certains cas, si vous avez des besoins particuliers et que vous n'êtes pas connecté au serveur ATS , voici comment configurer manuellement vos pilotes Web :

Cliquez sur le lien "Aide"en haut à droite de l' éditeur Agilitest.

menu d'aide

Ensuite, cliquez sur le navigateur que vous souhaitez versionner

pilotes web

Vous accéderez ainsi à la page d'assistance du navigateur.

Vous pouvez également accéder à toutes les versions web driver par système en utilisant ce lien : https://actiontestscript.com/releases/ats -drivers/

Du côté d'Agilitest, insérez les lignes suivantes dans votre fichier .atsProperties :

<browser>
<name>chromium</name>
<driver>chromiumdriver</driver>
<path>D:\tools\chromium\chrome.exe</path>
</browser>

Pour en savoir plus, vous pouvez consulter la documentation sur les pilotes Web.

Créer un premier test Web

Pour commencer, vous devez ouvrir un canal sur le navigateur web de votre choix afin qu'Agilitest puisse communiquer avec ce navigateur.

Par défaut, Agilitest trouvera l'installation des principaux navigateurs du marché.

Cliquez sur "Démarrer canal" dans le menu des actions,

commencer canal

Sélectionnez le navigateur que vous souhaitez utiliser.

sélection du navigateur

Vous devrez ensuite spécifier l'URL où se trouve votre application, qui peut être un lien local ou Internet.

Pour ce faire, cliquez sur l'onglet Navigation > URL du navigateur du navigateur.

URL du navigateur

Saisir l'URL

URL

À partir de là, vous devrez passer en mode capture pour sélectionner des éléments du DOM, effectuer des actions et des contrôles, et finaliser votre test.

Comment exécuter un test sur plusieurs navigateurs ?

Une fois que vous avez exécuté votre premier test, vous pouvez facilement l'exécuter sur plusieurs navigateurs, en procédant comme suit :

Créez un fichier CSV à colonne unique et indiquez les navigateurs qui vous intéressent.

Pour ce faire, il suffit de cliquer sur "Nouveau composant"et sur le fichier CSV.

Fichier CSV

Ensuite, vous devez itérer sur les valeurs du fichier CSV en effectuant un appel de sous-script.

  • Créez un nouveau script
  • Déposez votre script principal de l'explorateur de projet dans la fenêtre d'édition, afin de créer une action"Appeler le script".
  • Déposez le fichier CSV sur cette nouvelle action, pour générer un appel itératif sur le fichier CSV.
action de script d'appel

Il suffit de modifier légèrement votre script initial pour changer le nom du navigateur :

Dans la rubrique "Démarrer un canal"remplacer le nom du navigateur codé en dur par la variable $param(0)

param(0)

Il s'agit de la valeur de la première colonne de votre fichier CSV sur laquelle votre appel de sous-script sera itéré.

Dans Agilitest, vous pouvez utiliser des variables à plusieurs endroits pour augmenter la réutilisation des scripts et des fichiers. Pour plus d'informations, consultez notre documentation sur le passage de paramètres à un sous-script.

Vous pouvez également créer une variable d'environnement accessible à partir des paramètres d'exécution de votre projet.

Pour les utiliser dans vos scripts, utilisez la fonction $env(parameter_name).

Pour plus d'informations, veuillez consulter la documentation sur les variables.

🔸 Attention

S'il est possible d'ouvrir plusieurs navigateurs différents dans le même script, il n'est pas possible d'ouvrir plusieurs fois le même navigateur.


Vous avez encore besoin d'aide ?
Contacter le support

Rapports vidéo

Il est important que l'analyse des conditions d'échec des tests soit rapide et efficace afin de déterminer si le test doit être modifié ou s'il existe une condition de régression dans le logiciel.

Cela est essentiel pour réduire encore la charge des tests automatisés sur le site maintenance .

La fonctionnalité vidéo ATSV est fournie par ATS nativement : il s'agit de open source. Vous pourrez ainsi échanger des rapports avec vos partenaires même s'ils n'ont pas accès à Agilitest.

Comment générer un rapport vidéo dans Agilitest ?

Il y a plusieurs façons de produire un rapport vidéo directement dans Agilitest.

Depuis la gestion des canaux

Le menu de gestion des canaux est accessible sur la gauche de l'éditeur Agilitest, en dessous de l'explorateur de projet, et permet de demander la génération d'un rapport lors d'une exécution.

Cliquez sur "Paramètres"

Paramètres Canaux

Sélectionnez "Rapport visuel"

Rapports visuels

A la fin de l'exécution, le rapport est accessible avec l'explorateur de projet dans le répertoire target\report.

En double-cliquant sur le fichier ATSV généré, le rapport vidéo est lu dans la visionneuse fournie avec Agilitest.

fichier atsv

Dans le menu de gestion des exécutions

Dans le panneau de contrôle de l'exécution, vous pouvez demander la génération de Rapports vidéo.

Pour ouvrir le panneau de contrôle des exécutions, cliquez sur "Gestion des exécutions" dans l'explorateur de projet

gestion des exécutions

Cela va ouvrir la page de gestion des exécutions et de compilation des suites.

constructeur du projet

Cliquez ensuite sur le bouton des paramètres de la suite.

bouton du stylo pour modifier

Cliquez sur le cas "Générer les rapports"

activer le bouton de rapport

Sélectionnez ensuite le niveau de qualité du rapport vidéo, ce qui implique un niveau de détail plus ou moins élevé.

choix de qualité

Il est important de configurer cela correctement car cela peut affecter le temps d'exécution ou la taille de Rapports vidéo lors de la relecture des tests d'intégration continue.

Enfin, cliquez sur "Générer des rapports" dans la ligne d'exécution du constructeur du projet.

générer un rapport

Le format ATSV a été optimisé pour prendre peu de place et être généré rapidement, mais il faut savoir que la configuration des vidéos dans les runs est pour tous les tests qui seront rejoués et peut produire une grande quantité de rapports.

Comment lire une vidéo ATSV sans Agilitest ?

Un lecteur ATSV écrit en HTML5 / Javascript est fourni gratuitement et peut être intégré directement dans vos environnements d'intégration continue, ou même lancé à partir de la ligne de commande.

Le lecteur HTML5 ATSV est activé pour lire les rapports.

Lecteur ATSV HTML5

Le lecteur ATSV est un outil qui vous permet de rejouer un test ATS sous la forme d'une séquence d'images et d'animations.

Lorsque vous ouvrez votre fichier ATSV, il s'affiche dans un onglet du navigateur.

lecteur html5 atsv

Pour chaque vidéo ATSV HTML, le nom du site canal en cours d'exécution et le nombre d'actions effectuées s'affichent à l'écran.

actuel canal

Les actions suivantes peuvent être effectuées pendant le processus de lecture :

  • Jouer
  • Pause
  • Arrêter de jouer
  • Actions précédentes et suivantes
actions précédentes et suivantes

  • Le passage au plein écran permet d'étendre la séquence d'images à l'ensemble de l'écran, la liste des actions étant superposée au lecteur.

Pour activer le plein écran, cliquez sur le bouton correspondant

bouton plein écran

Cela vous permettra d'afficher le lecteur sur l'ensemble de la page.

lecteur en plein écran

Lorsque le plein écran est activé, vous pouvez cliquer sur le bouton "Actions"

menu d'actions

La liste des actions s'affiche à côté des images vidéo.

liste des actions

  • Sélectionnez une action dans le volet d'action qui sera affichée directement sur la vidéo.
actions du test

  • Sélectionner un moment de la séquence, directement sur la barre de lecture
barre de lecture

Pour ce faire, survolez la barre de progression du joueur et sélectionnez une capture pour l'afficher

aperçu de la vidéo

Pour afficher les détails du rapport, survolez le symbole "i" pour voir les informations

Point "i" pour information

Les commentaires d'un test sont également visibles sur le site Rapports vidéo.

Pour les consulter, passez votre souris sur les barres jaunes représentant les commentaires.

commentaires dans le lecteur


Vous avez encore besoin d'aide ?
Contacter le support

Menu Actions

Le menu d'action d'Agilitest est central et vous permet de déclarer manuellement toutes les actions possibles dans un script de test.

ligne d'action dans l'éditeur

Types d'actions

Bouton de canaux

Action des chaînes

Ces actions vous permettent de créer, fermer et modifier le canal de votre test. Elles sont intégrées directement dans le script.

Actions de canal

Démarrer un canal: Cette action permet à Agilitest de faire le lien avec l'application testée.

Changez vers le canal: Cette action est utilisée lorsque plusieurs canaux sont présents dans le script. Elle permet de passer d'un canal à l'autre.

Arrêtez le canal: Ceci indique à Agilitest que le site canal ne sera plus utilisé pendant ce test et fermera l'application.

Bouton de navigation

Actions de navigation

Dans le cas de l'automatisation d'applications sur des services distants, Web et Webservices, ces actions vous permettront d'indiquer vers quelle URL naviguer et quel protocole sélectionner : Web / HTTP, SOAP, REST.

Actions de navigation

🔸 Attention

Dans le cas d'une exécution sur le bureau, vous devrez toujours passer par l'action "Browser URL" en saisissant le chemin de l'application testée dans l'explorateur Windows.

Action de sous-script

Action de sous-script

Cette action n'a pas de menu déroulant car elle crée directement une action d'appel de script dans le script. Les sous-scripts ne diffèrent pas des scripts, les deux sont des fichiers ats , seul l'un est appelé par l'autre.

Il y a deux façons d'utiliser cette action :

  • En effectuant un appel direct avec ou sans paramètres
  • À partir d'un fichier CSV/JSON

Action de saisie de texte

Action de saisie de texte

L'action de saisie de texte envoie des éléments correspondant aux touches du clavier à votre application : des pressions sur les touches, avec ou sans touches spéciales supplémentaires.

Cette action est insérée directement dans votre script. A partir de l'action, vous pouvez définir la nature de l'action.

Cliquez sur l'action "Saisir un texte [ ]" pour saisir un texte.

Vous pouvez écrire directement le texte désiré à l'aide de votre clavier. Vous avez également accès aux touches spéciales qui ont les mêmes fonctions que celles présentes sur le clavier (entrée, espace, CTRL, etc...).

Saisie de texte

Vous pouvez également insérer des valeurs spéciales dans votre saisie de texte à partir du menu des valeurs spéciales.

Bouton de valeur spéciale

Cela vous permettra d'accéder à diverses valeurs, variables, etc...

Menu à valeur spéciale

bouton de la souris

Actions de la souris

Les actions de la souris sont utilisées pour gérer la souris sur les applications PC, mais aussi les actions spécifiques des applications mobiles telles que le swipe.

actions de la souris

Cette action comporte un sous-menu comprenant :

  • Clic de souris: Il s'agit d'un clic sur un élément
  • Survol: Il simule le survol de la souris
  • Glisser-déposer: cette action contient un sous-menu qui la complète :
  • Glisser: permet d'effectuer un clic de maintien
  • Déposer: Cette action libère l'élément. Elle doit être précédée d'une action de "glisser".
  • Balayage: Balayer vers la droite, la gauche, le haut ou le bas à l'aide de la souris ou en simulant le toucher pour les tests web.
  • Défiler: Pour faire défiler un curseur ou accéder à des éléments d'une page

Actions de vérification

Vérifier les actions

Les actions de vérifications sont générées pour un contrôle explicite ou une assertion pendant le test. Cela peut potentiellement conduire à l'échec du test ou lui permettre de continuer.

Vérifier les actions

Trois actions de vérification sont possibles :

  • Vérification de la propriété: Cette fonction permet de vérifier la valeur d'une propriété existante dans le script.
Contrôle de la propriété

  • Vérification des occurrences: Cette fonction permet de vérifier le nombre d'occurrences d'un élément.
Contrôle des occurrences

  • Vérification des valeurs: Cette fonction permet de vérifier qu'une valeur correspond à une valeur existante dans le script.
Contrôle des valeurs

action de propriété

Action de propriété

L'action propriété vous permet, à partir d'un composant capturé, de récupérer une de ses propriétés et de la placer dans une variable.

Cette variable peut ensuite être utilisée pour définir d'autres variables dépendantes, créer des assertions, etc.

Action de propriété

Action du système

Actions du système

Les actions du système ne sont utilisées que pour un canal mobile.

Cette action s'effectue de deux manières :

  • En utilisant l'action du bouton: Cela vous permet d'interagir avec un bouton physique du téléphone (réglage du son, accueil, verrouillage, etc.).
  • En définissant les propriétés: Cela vous permet de définir une propriété du système ( niveau du volume sonore, orientation du téléphone, activation/désactivation du WIFI, etc...).

Bouton de la fenêtre

Actions sur les fenêtres

L'action de gestion des fenêtres vous permet de gérer le système d'exploitation Windows, les applications modales du bureau Windows et les onglets du navigateur.

Il ne permet pas de gérer les fenêtres internes de certaines applications web, qui sont des éléments HTML flottants, directement accessibles avec les automatismes web.

Un menu spécifique est également disponible pour gérer les boîtes de dialogue sans ajouter de complexité inutile.

actions sur les fenêtres

L'action de la fenêtre comporte un sous-menu avec trois actions possibles :

  • Dimension et emplacement: Cette fonction permet de déplacer la fenêtre en spécifiant ses nouvelles coordonnées cartésiennes ou de modifier sa taille (hauteur et largeur).
  • État visuel de la fenêtre: Cela vous permet d'envoyer un événement du système d'exploitation à la fenêtre en cours.
  • Changer de fenêtre: Cette fonction permet de changer la fenêtre actuelle en spécifiant le numéro de la fenêtre qui doit être permutée.

sélectionner une action

L'action sélectionner

Cette action gère des composants SELECT spécifiques dans les navigateurs web ou des COMBO-BOXES dans les applications de bureau.

action de script

Action de script

Les scripts sont utilisés pour exécuter Javascript sur un composant.

Elle diffère de l'action d'exécution Java qui se produit en dehors du contexte d'un composant (mais qui peut toujours récupérer des variables).

bouton commentaire

Actions de commentaire

En plus de simples commentaires techniques, cette action vous permettra de déclarer les étapes fonctionnelles clés de votre test.

Types de commentaires

Cette action comporte quatre types de commentaires :

  • Étape fonctionnelle: Ce commentaire indique une étape importante du script
  • Commentaire du script : Ce commentaire explique les opérations effectuées par le script
  • Journal d'exécution: Ce commentaire est fonctionnel le chaines de caractères
  • Résumé du rapport: permet d'ajouter du texte au résumé du rapport d'exécution généré.

Certaines de ces actions peuvent agir directement sur un composant et peuvent être créées à partir d'un élément capturé et déposé dans le script.

les actions disponibles à partir d'un élément capturé

Ces actions sont les suivantes : Actions de vérification, actions de la souris, actions de saisie de texte, actions de propriété, actions Javascript et actions de sélection.


Vous avez encore besoin d'aide ?
Contacter le support

Présentation de l'éditeur

Pour vous aider à vous familiariser avec l'environnement Agilitest, voici une présentation des différents éléments qui composent l'éditeur Agilitest.

interface de l'éditeur

Menu de gestion de projet

éléments du projet

Ce menu est situé en haut à gauche de l'éditeur. Il permet de créer un nouveau projet, d'ouvrir un clone git, d'ouvrir un projet déjà utilisé, de créer un nouveau composant et de sauvegarder les fichiers sur lesquels vous travaillez.

Créez un nouveau composant

nouveau composant

Lorsque vous créez un nouveau composant, Agilitest vous propose une sélection de différents types de composants :

Nouveau script ATS : Pour créer un nouveau test ou un sous-script.

Créer un fichier CSV : Créer un fichier de données afin de tester différentes données (Data Driven Testing).

Créer un fichier JSON: Créer un fichier de données afin de tester également diverses données.

Créer un script Java: Pour appeler un code Java externe à Agilitest.

Créer une exécution: Pour créer une exécution de vos tests afin de gérer l'examen de tous vos tests à partir d'un projet qui peut être filtré avec plusieurs paramètres.

Menu de configuration et d'aide

boutons de réglage et d'aide

Ce menu, situé en haut à droite de l'éditeur, vous permet de :

  • Faire des captures d'écran de votre éditeur directement à partir d'Agilitest
  • Avoir accès aux configurations d'Agilitest
  • Avoir accès aux outils permettant de compléter Agilitest
  • Rechercher un script dans l'éditeur
  • Avoir accès au menu d'aide

Configurations d'Agilitest

Paramètres de l'éditeur

Les paramètres d'Agilitest vous permettent de

  • Générer des rapports d'erreur
  • Paramétrer la langue de l'éditeur Agilitest (français ou anglais)
  • Configurer ATS
  • Configurer Jenkins
  • Pour connecter une station mobile ou des comptes Git

Menu Outils

Menu Outils

Vous pouvez améliorer votre expérience en ajoutant des outils qui communiquent directement avec Agilitest. Parmi ces outils, il y a :

  • Les rapports Jasper
  • Gestion de projet Apache Maven
  • FlaUInspect
  • Serveur Jenkins

Menu d'aide

Menu d'aide

Dans le menu d'aide, vous avez accès à

  • Lien de téléchargement de l'archive Agilitest
  • Liens de téléchargement de Mobile Station (Windows et MacOS)
  • Lien de téléchargement du lecteur ATSV
  • Diverses ressources pour accompagner votre parcours sur Agilitest (documentation, vidéos, webdrivers, etc...)

Explorateur de projets

Explorateur de projets

L'explorateur de projets correspond à une arborescence qui répertorie l'ensemble des projets et des éléments qui les composent.

Il permet d'avoir une vision globale d'un projet et d'apporter des modifications globales ainsi que de limiter la méthode étape par étape.

Dans le menu de l'explorateur de projet, vous pouvez modifier la vue de l'arbre.

vues des projets

Pour en savoir plus, vous pouvez consulter la documentation sur l'explorateur de projet. l'explorateur de projets.

Gestion des canaux

canal Le menu de gestion est un pré-requis avant de commencer à éditer un test, c'est un élément central d'Agilitest qui facilitera la création de tests et maintenance.

menu de gestion des canaux

Dans ce menu de gestion canal , vous avez accès aux éléments suivants :

  • Le bouton de l'outil Capture
  • Le bouton Fermer permet de fermer l'application en cours
  • Le bouton Play permet de lire le script
  • Le bouton Next pour jouer une action et la suivante
  • Le bouton Paramètres permet de paramétrer la gestion de l'exécution.

Gestion des variables

Le menu des variables du script permet de créer et de visualiser toutes les variables utilisées dans un script.

le menu des variables du script

Cela permet d'éviter d'avoir les variables dans le corps du script qui est uniquement conçu pour les actions.

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/609102fd03ae3864a5d425e1_image-24.png

Gestion des scripts

Menu Actions

menu d'actions

Le menu d'actions d'Agilitest est central et permet de déclarer manuellement toutes les actions possibles dans un script de test.

Dans ce menu, vous trouverez toutes les actions d'Agilitest qui sont utilisées pendant un test. Il a été conçu pour assurer la plus grande compatibilité entre tous les appareils supportés par Agilitest.

Ce menu permet également de gérer les différents canaux utilisés lors d'un test.

Éditeur de scripts

L'éditeur de script d'Agilitest représente une grande partie de l'éditeur. Il montre les actions que vous pouvez exécuter sur vos tests. L'éditeur proposera des interprétations graphiques des actions qui seront effectuées sur votre script. Le format ATS est un format textuel qui décrit toutes les actions.

éditeur de scripts

Cette section de l'éditeur est conçue pour permettre la réutilisation des composants: copie des actions ou des éléments sur lesquels ils agissent sur ou avec sous-script création.

L'affichage des actions ne montre que les actions principales, mais tous les cas peuvent être gérés dans des sous-menus.

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/609102fad3595f83cd52dec3_image-26.png

En-tête de script

Le menu d'en-tête de script permet de gérer un ensemble de métadonnées liées à un test, comme la suite d'exécution par exemple.

Pour accéder à l'en-tête du script, ouvrez un script et cliquez sur l'icône "Données d'en-tête du script"de l'en-tête du script

bouton d'en-tête de script

Vous pouvez visualiser le script ATS correspondant à votre test.

ats code

💡 Conseil

Cela peut être utile pour copier les informations de l'en-tête du script et les envoyer par courrier électronique ou les ajouter à un commentaire dans votre outil de gestion des bugs.

Vous pouvez également avoir accès au code Java qui, une fois compilé, permettra l'exécution des tests.

code java

🔸 Attention

ATS et les scripts Java ne peuvent pas être modifiés directement dans l'éditeur.

Pour revenir à l'éditeur de script, cliquez sur le bouton "Actions" pour revenir à l'éditeur de scripts.

bouton d'action

Vous avez encore besoin d'aide ?
Contacter le support

Qu'est-ce que ATS

Agilitest est une suite intuitive d'automatisation des tests fonctionnels conçue pour que tout le monde puisse automatiser les tests.

Avec une approche unique de l'automatisation des tests fonctionnels, Agilitest offre une vision globale de la qualité des logiciels à tout moment, qu'il s'agisse de technologies web, desktop, mobile ou webservice .

Dans un contexte où les équipes Agiles et l'intégration DevOps deviennent la norme, Agilitest fournit à tous les testeurs de logiciels, qu'ils aient une formation technique ou non, un moyen intuitif et robuste de créer, maintenir et d'exécuter des tests fonctionnels automatisés.

ActionTestScript, diminutif de ATS est un langage de test structuré, lisible et compréhensible par un être humain et facilement éditable par une I.A. utilisé pour créer des campagnes de tests automatisées fiables et puissantes avec une interface graphique.

ATS est open-source sous la licence licence Apache 2.0.

Les scripts de test sont définis par une séquence d'"actions" exécutées sur une page Web. Web (Chrome, Edge, Internet Explorer, Firefox), bureau (Desktop), mobileou Webservice.

Les scripts écrits en ATS sont convertis en classes java puis exécutés à l'aide des frameworks Selenium (pour les navigateurs), ou par des couches logicielles directement implémentées pour les parties bureau, mobile Android et iOS ou les Webservices.

ATS produit des rapports dans les formats suivants :

Rapports d'exécution:

- Rapport d'exécution : pour une lecture globale de l'exécution des tests‍

- Rapport d'exécution détaillé (avec ou sans capture d'écran): pour analyser les raisons des échecs des tests.

- Rapport de synthèse (pdf): pour une lecture globale de la réussite des tests dans un format spécialisé

- Rapport ATSV: Images d'exécution compilées dans un format vidéo (lecture via le lecteur ATSV)

- Rapport de validation: pour documenter et archiver les exécutions réalisées

ATS est compatible avec le format d'exécution TestNG largement utilisé et est compatible avec la plupart des systèmes d'intégration continue récents.

Avec ATS, les concepteurs de tests se concentrent uniquement sur les actions fonctionnelles à réaliser et n'ont pas à se soucier des considérations techniques.

Le lien entre ATS et Agilitest

Pour que ATS et Agilitest fonctionnent, vous devez installer certains prérequis.

Pour plus d'informations, vous pouvez consulter la documentation sur les exigences matérielles et logicielles.

Le lien est avant tout philosophique : nous avons voulu mettre à la disposition de tous la technologie de relecture des tests logiciels qui est ATS et permettre ainsi une accélération possible des développements qui sont liés : les technologies liées au dev/ops et plus généralement tous les acteurs de la chaîne de production des logiciels sont multiples et encore en forte évolution.

Techniquement, Agilitest est un éditeur qui produit des scripts ATS , mais nous avons aussi mis dans cet éditeur toute l'expérience de plusieurs années d'utilisation d'outils de tests automatisés. Il s'appuie sur ATS et bénéficie des caractéristiques techniques qu'il apporte : lisibilité des scripts, relecture pas à pas des tests, robustesse...

🔸Warning

Agilitest est un éditeur de code ATS , mais les modifications ne se font pas à partir de l'éditeur Agilitest mais avec Notepad++, par exemple.

ATS est maintenu par Pierre HUBER, fondateur de CAIPTURE, éditeur d'Agilitest. Plus d'informations en suivant le lien :

https://actiontestscript.org

Vous avez encore besoin d'aide ?
Contacter le support

Intégration de Jenkins

▶️ Vous trouverez un tutoriel sur comment utiliser Jenkins avec Agilitest sur notre chaîne Youtube.

Agilitest vous permet d'installer et de configurer automatiquement un serveur Jenkins local, ou même de vous connecter à un Jenkins distant. C'est simple, rapide et extrêmement pratique.

Vous pouvez programmer des exécutions récurrentes pour vous assurer que toutes les fonctions testées sont correctes ou non.

Exemple :

Vous pouvez programmer des Jobs à exécuter tous les matins à 6 heures, ou tous les jeudis, ou même en continu sur une période définie si vous le souhaitez, etc...

Ces jobs, qui lanceront automatiquement vos tests sur vos solutions Web, Desktop, API ou Mobile (terminaux émulés ou physiques), s'afficheront sur un écran très graphique. C'est ainsi que vous gagnez en confiance sur la qualité de vos solutions au quotidien.

Jenkins avec Agilitest

Agilitest peut communiquer avec Jenkins afin de créer de nouveaux Jobs.

Jenkins est le composant qui permet de planifier les exécutions tout en donnant accès aux rapports de campagne et au suivi des taux de réussite et d'échec d'un Job donné. Ceci, même si ATS est compatible avec TestNg et peut être déployé sur n'importe quel système CI/CD.

Agilitest propose un panel réduit des options de base offertes par Jenkins. Lorsque vous souhaitez automatiser l'exécution de vos tests, vous pouvez utiliser Jenkins directement depuis Agilitest.

Ouvrir Jenkins avec Agilitest

  1. Jenkins intégré

Pour ouvrir Jenkins dans Agilitest, cliquez sur l'onglet "Gestion des exécutions"

gestion des exécutions

Ensuite, cliquez sur le bouton "Intégration Jenkins" pour accéder à l'interface Jenkins dans Agilitest.

Bouton d'intégration Jenkins

Si Jenkins n'est pas installé :

Cliquez sur l'icône Jenkins ou connectez Jenkins à partir du menu des outils

bouton outils

Dans les outils, cliquez sur "serveur embarqué" dans le menu Jenkins,

bouton du serveur intégré

Entrez un port disponible sur votre ordinateur, et cliquez sur le bouton "Télécharger" 

bouton de téléchargement

Une fois Jenkins installé, cliquez sur "Connecter" pour connecter Jenkins à Agilitest.

bouton de connexion

La connexion d'un serveur embarqué ouvrira Jenkins sur votre ordinateur, cette opération peut prendre quelques secondes.

Cela ouvrira une page web composée des projets ouverts par Agilitest.

Page web Jenkins

Cliquez sur  "Arrêter Jenkins" pour fermer Jenkins et arrêter son processus

bouton stop jenkins

Si vous vous déconnectez simplement, le processus Jenkins ne s'arrêtera pas.

Le serveur embarqué est utile pour créer des Jobs et les exécuter à la volée. Cependant, il est moins sécurisé qu'un serveur distant, car il ne nécessite pas de mot de passe pour se connecter.

           2. Jenkins à distance

Connectez Agilitest à Jenkins avec le serveur distant pour exécuter vos tests en production.

En mode distant, il n'y a pas de téléchargement mais vous devez avoir un Login et un Token.

Pour vous y connecter, cliquez sur le bouton "serveur distant"

bouton du serveur distant

Dans le champ "URL" entrez l'URL de votre page Jenkins ouverte.

page jenkins

Le chemin du dossier correspond au dossier dans lequel les projets Agilitest seront stockés.

Saisissez le nom de votre choix pour le dossier

chemin du dossier

Ensuite, vous devrez entrer un login et un token.

Pour les obtenir, vous pouvez les trouver dans votre page Jenkins Jenkins Tableau de bord > Utilisateurs :

utilisateur dans Jenkins

Entrez le login correspondant à celui de la page Jenkins.

connexion dans l'éditeur

Pour obtenir le jeton API, cliquez sur l'utilisateur dans Jenkins et ensuite sur "Configurer".

Dans le champ "Jeton API" cliquez sur "Ajouter un Token" > "Générer"

TOKEN API

Copiez le Token généré (il n'est généré qu'une seule fois) et collez-le dans l'éditeur Agilitest

jeton api dans l'éditeur

Enfin, cliquez sur "Connecter"

bouton de connexion

Une fois connecté, le serveur distant dispose d'un peu moins d'options que le serveur intégré. Vous aurez la possibilité de vous connecter ou de vous déconnecter de Jenkins.

Créer un Job

Une fois Jenkins connecté, il peut être utilisé pour exécuter des Jobs.

Pour créer un nouvel emploicliquez sur le bouton "Nouveau job"à côté de l'icône Jenkins.

bouton nouvel emploi

Saisissez le nom de votre Job, ajoutez une description et configurez les paramètres que vous souhaitez.

Créer une nouvelle interface de travail

Vous avez plusieurs options :

  • Outils

Utiliser le dépôt Git : Pour utiliser un dépôt Git lorsqu'un projet est déjà géré par Git

Maven Job: Pour faire intervenir Maven lors des exécutions

  • Lancement

Vous pouvez également configurer le lancement de votre Job

En cochant la case "Automatique", vous pouvez décider quand vos Jobs doivent être lancés. Choisissez un ou plusieurs jours de la semaine, définissez la fréquence et les heures de travail au format 24 heures.

Cliquez sur le bouton "Continuer" pour exécuter le test plusieurs fois.

  • Liste des suites

La liste des suites qui seront exécutées dans votre Job Jenkins se trouve dans l'encart "Liste des Suites".

Cliquez sur le bouton "Ajouter" et définissez les suites que vous souhaitez exécuter.

liste des suites

  • Rapports

Vous pouvez choisir de générer les rapports Agilitest à la fin de vos exécutions.

Vous pouvez également choisir d'envoyer un courriel afin de suivre le déroulement de vos Jobs

Paramétrer un Job

Une fois le Job créé, vous pouvez le paramétrer à nouveau en cliquant sur l'icône "stylo" dans l'interface Jenkins d'Agilitest.

Bouton d'édition d'un travail

Sélectionnez un Job et cliquez sur "Exécuter".

bouton d'exécution du travail

A la fin de l'exécution, Jenkins validera ou non le test.

Vous pouvez exécuter à nouveau votre test directement à partir de la page Web, ou à partir de votre éditeur Agilitest, comme décrit ci-dessus.

Vous pouvez également configurer votre Job directement dans Jenkins à partir de l'onglet "Configurer", où vous aurez accès à tous les paramètres.

configurer dans Jenkins

Après une première exécution, le Job affiche un symbole météorologique représentant le statut du Job.

situation météorologique à Jenkins

Ce symbole météorologique sera également représenté dans Agilitest.

statue météorologique à Agilitest

Sous l'icône Jenkins se trouvent des boutons d'accès pour :

boutons jenkins
  • Ouvrir la configuration Jenkins
  • Ouvrir la page du projet
  • Ouvrir la fenêtre des outils Agilitest
  • Synchronisez vos informations à partir de Jenkins

Configuration avancée

Si les besoins d'exécution des tests sont massifs, le serveur Jenkins n'exécutera aucun test et les déléguera aux serveurs d'exécution via la communication Jenkins contrôleur(built-in)/agent.

Jenkins permet l'utilisation de divers protocoles de communication tels que Java Web Start (JNLP) et SSH.

Une liste de tous les agents connectés ou déclarés se trouve dans la configuration du serveur Jenkins.

Configuration de Jenkins

Vous pouvez également les trouver dans la page Jenkins Tableau de bord > Nœuds

Nœuds dans Jenkins

Il est important de noter qu'un contrôleur peut également être un agent.

Lorsqu'un agent est sélectionné, les erreurs qui peuvent être corrigées apparaissent dans l'encart "Avertissements et informations".

Avertissements et informations

Vos tests ont besoin d'un agent pour être exécutés, et cet agent doit avoir un Label déclaré. Pour que l'exécution du test ATS fonctionne, vous avez besoin du label ats-executor.

Si votre agent n'a pas de label :

Cliquez sur le bouton "Corriger".

Fixer les étiquettes

Une fois redirigé vers la page Jenkins, cliquez sur l'agent concerné dans Tableau de bord > Nœuds

Page Agents dans les nœuds

Cliquez ensuite sur "Configurer" et entrez "ats.executor" dans le champ Labels

configurer les étiquettes

Il est également possible de créer un nouvel agent.

Pour ce faire, cliquez sur "Nouvel agent"

Bouton "nouvel agent

Saisissez un nom et un nouvel emplacement du dossier

Informations sur les nouveaux agents

Cliquez ensuite sur "Télécharger l'agent" puis vous devez extraire les fichiers

bouton de téléchargement de l'agent

Cliquez sur "launcher.bat" pour vous connecter.

fichier bat du lanceur

🔸 Attention

Pour qu'un launcher puisse être exécuté, Java doit être déclaré dans votre système Windows.

Vous avez également la possibilité d'activer ou de désactiver un agent.

bouton de désactivation

Lorsque les tests sont lancés, ils sont exécutés sur les agents disponibles. Si vous ne souhaitez pas qu'un agent soit utilisé, vous pouvez le désactiver.

agent désactivé

Vous avez encore besoin d'aide ?
Contacter le support

Web services

Dans vos tests fonctionnels de bout en bout, vous pouvez gérer les flux de services Web directement dans vos scripts de test automatique Agilitest/ATS .

L'objectif est que vous puissiez contrôler les données échangées ou même les récupérer pour les réutiliser à des fins fonctionnelles dans vos tests automatiques.

Écriture de l'appel Web Service dans Agilitest

Pour ce faire, il suffit de saisir l'action"Démarrer le canal" avec le lien http complet de votre demande Web Service :

Exemple ici : http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL

Démarrage d'un Webservice canal en tant que Web canal

L'exécution de cette action"Démarrer le canal" ouvrira automatiquement un visualiseur spécifique qui vous permettra de capturer toutes les données que vous souhaitez vérifier et/ou récupérer dans ce flux Web Service .

Agilitest détectera automatiquement s'il s'agit de SOAP ou de REST (dans lequel tous les autres types de services qui ne sont pas SOAP seront également inclus).

Cette fenêtre de capture communiquera toutes les actions disponibles sur le site Web Service:

WSDL : obtention de la liste des services disponibles

En écrivant la méthode adressée à ce Web Service dans Agilitest

La deuxième action spécifique de Web Service se trouve sur la "Navigation" et REST ou SOAP Webservice

Appelez une action REST webservice
Fonction GET

L'action REST est par défaut GET, mais toutes les méthodes HTTP de la norme sont disponibles : Get, Post, Delete, Patch et Put.

Vous pouvez enrichir la requête soit par la méthode (URL), soit par les paramètres de l'API, soit par les en-têtes, soit tout cela à la fois.

 Sélectionnez la méthode
Et modifiez les en-têtes et les données API

Vous pouvez passer manuellement au type SOAP via le bouton dédié :

Pour tous les services Web, vous pouvez selon vos besoins.

  • Envoyer les demandes directement via la méthode (c'est-à-dire le lien html dans lequel vous avez rempli les informations souhaitées).
  • Utilisez la case"Données API" pour compléter, complexifier ou clarifier la requête.
Exemple d'une requête SOAP avec des données
  • Utilisez la case "En-tête de la demande" pour gérer les en-têtes si nécessaire.
Ajoutez un en-tête

Il existe deux paramètres supplémentaires que vous pouvez utiliser :

  • Changer de port: Permet d'indiquer sur quel port vous souhaitez interroger le site webservice.
  • Utilisez le cache: Dans la mesure du possible, Agilitest ne fera pas de nouvelle demande si les données demandées sont déjà dans le cache.

Si vous ne connaissez pas l'ensemble des actions disponibles : le plugin Wizdler

Si vous ne connaissez pas le corps du site Web Service, voici une astuce simple pour vous aider à analyser les fichiers WSDL et à générer des messages SOAP :

  1. Installez le plugin WIZDLER sur votre navigateur web (Chrome par exemple : Lien vers le plugin Wizdler ici)
  2. Ouvrez votre lien http Web Service sur le même navigateur.
  3. Cliquez sur le bouton Wizdler dédié :

       4. Cliquez sur l'une des actions disponibles sur ce site Web Service (par exemple CapitalCity) pour récupérer le corps et le coller dans la case "Paramètres API".

         5. N'oubliez pas d'indiquer l'action connexe dans la "méthode" de l'action Agilitest.

          6. Vous pouvez même tester l'action en remplaçant les données par défaut[chaîne de caractère], puis en cliquant sur le bouton "Go" dédié et en vérifiant le résultat renvoyé par la fonction Web Service

Capture des données renvoyées par le Web Service

Maintenant que la"méthode" et la case"Paramètres API" de votre action sont remplies, Agilitest sera en mesure d'exécuter automatiquement l'action dans votre flux fonctionnel.

Vous pouvez capturer le résultat de la requête via le mode capture d'Agilitest.

Capturez le résultat de la requête
Sélection d'attributs qui identifient l'élément

L'action "Propriété" vous permet de réutiliser les données cibles renvoyées par le site Web Service dans votre script :

Et nous obtenons la valeur dans une variable.....
indiquant quel attribut de l'élément nous intéresse

La récupération de l'attribut "valeur" nous permet dans ce cas de récupérer la Capitale du Pays dont le code ISO est FR, à savoir Paris.

L'action s'est bien déroulée

Note

Les actions de vérification et de récupération des propriété seront très souvent les actions les plus pertinentes dans l'écriture de vos tests fonctionnels de bout en bout utilisant des services Web.

Exemple de script SOAP

Veuillez trouver ici un exemple de script SOAP ats : SOAP_flag_demo.ats
Faites un clic droit sur le lien ci-dessus et sélectionnez "Enregistrer le lien sous..." pour récupérer le fichier ATS .

Vous pouvez l'ajouter à votre projet Agilitest pour le modifier et/ou l'exécuter.

Vous avez encore besoin d'aide ?
Contacter le support
Aucun résultat trouvé.
Merci ! Votre demande a été reçue !
Oups ! Un problème est survenu lors de la soumission du formulaire.