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

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.

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
Détails du 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

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

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

Créer une instance sur AWS

Un guide étape par étape pour créer et configurer une instance Agilitest/Jenkins fonctionnant sur la plateforme en nuage Amazon Web Services (AWS).

Dans AWS, une instance est une VM (Virtual Machine), un conteneur, etc. Dans notre cas, l'instance sera une VM.

Créer une instance pour Agilitest/Jenkins dans le nuage AWS.

Pour créer votre instance, vous allez passer par 7 étapes. Pour commencer à créer une instance, cliquez sur "lancer l'instance".

Étape 1 : Choisissez votre image

Agilitest a besoin d'une distribution Windows. Dans la barre de recherche, entrez "Windows 2016" et sélectionnez l'image "Microsoft Windows Server 2016 Base".


Étape 2 : Choisir le type d'instance

Pour le choix du type d'instance, un type t2.small suffira. Cependant, pour plus de confort, il est recommandé d'utiliser un type t2.large ou plus grand.

Après avoir sélectionné le type d'instance que vous souhaitez utiliser, cliquez sur "suivant".

Étape 3 : Configurer l'instance

Pour cette étape, aucun changement n'est nécessaire pour faire fonctionner l'instance. Vous pouvez passer à l'étape suivante.

Étape 4 : Stockage

La configuration par défaut est suffisante pour notre instance. Vous pouvez passer à l'étape suivante.

Étape 5 : Étiquettes

Cette étape facilite la lecture de votre liste d'instances. Il n'est pas nécessaire d'ajouter des balises mais cela simplifiera votre lecture.

Étape 6 : Configuration du groupe de sécurité

Tout d'abord, vous devrez créer un groupe de sécurité. Le nom et la description sont ouverts, à vous de remplir les informations en fonction de votre configuration.
Le champ type vous permet de choisir avec quel protocole vous allez vous connecter à votre instance. Le choix d'une connexion avec le protocole RDP est simple et parfaitement fonctionnel.
Aucune modification n'est nécessaire sur le protocole et le ciblage des ports.
Dans la partie source, choisissez "Mon IP" afin que seule votre machine puisse accéder à votre instance. Si vous avez besoin d'y accéder via une autre adresse IP, vous pouvez ajouter une nouvelle règle "personnalisée" avec l'adresse IP de la machine à laquelle vous voulez accéder.

Une fois que c'est fait, vous devrez cliquer sur "revoir et lancer".

Étape 7 : Lancer l'instance et créer la clé d'accès

Cliquez sur "lancer", une fenêtre s'ouvre pour sélectionner ou créer une paire de clés. Si vous avez déjà une paire de clés, sélectionnez-la. Si vous n'en avez pas, sélectionnez "create a new key pair". Donnez-lui un nom et téléchargez-la.
Attention, vous devez sauvegarder votre clé ou vous ne pourrez pas accéder à votre instance. Vous pouvez maintenant lancer votre instance.

Se connecter à l'instance

Maintenant que votre instance a été créée, vous devez vous y connecter. Pour ce faire, cliquez sur votre instance une fois qu'elle a démarré, puis cliquez sur "connecter". Vous arrivez sur la fenêtre de connexion de votre instance.

Vous devrez d'abord cliquer sur "obtenir le mot de passe" pour obtenir votre mot de passe.

Ici, vous devrez obtenir la clé téléchargée à l'étape 7 via "Browse" et ensuite décrypter cette clé pour obtenir votre mot de passe.
Votre mot de passe ne changera pas d'une connexion à l'autre, même si vous arrêtez votre instance. Pensez donc à noter votre mot de passe pour ne pas avoir à répéter cette étape.
Vous pouvez maintenant télécharger votre bureau à distance et vous y connecter avec votre mot de passe.

Installation d'Agilitest

Une fois que votre instance a été créée et que vous vous êtes connecté, vous devrez installer Agilitest.
Tout d'abord, téléchargez Agilitest et JDK 10 (requis pour Jenkins). Ensuite, lancez Agilitest depuis les paramètres et téléchargez les paramètres de ATS et les paramètres de java (JDK). Allez ensuite sur Outils et téléchargez Jasper, Maven et Jenkins (version serveur embarquée).
Si vous avez un Git, vous pouvez le lier à votre Agilitest. Pour ce faire, allez dans "settings", et cliquez sur ajouter dans le compte git.


Installation de Jenkins

Pour finir, vous devez vous connecter à votre Jenkins. Cliquez sur "connecter" puis connectez-vous localement via un navigateur à l'adresse localhost:port
Dans Jenkins, allez à Gérer Jenkins > Configuration globale de l'outil et installez le JDK 10.
En option, toujours dans Manage Jenkins > Configure system, vous pouvez ajouter votre serveur github pour pouvoir rejouer vos tests. Cependant, vous devrez également lier votre github à Agilitest. Vous pouvez le faire directement dans les paramètres d'Agilitest.


Votre instance avec Agilitest est maintenant prête à effectuer vos premiers tests.

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 :

  • Hébergé par Microsoft : Les agents sont hébergés sur Microsoft Cloud et de nombreuses plateformes sont proposées. Pour plus d'informations : https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops
  • Auto-hébergé : Vous pouvez télécharger le programme d'installation de l'agent et l'héberger vous-même sur l'environnement de votre choix. Pour plus d'informations :https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/agents?view=azure-devops&tabs=browser#install
    Nous utilisons des agents auto-hébergés et c'est la solution qui sera décrite dans cet article. Cependant, il est certainement possible d'adapter les informations ci-dessous si vous souhaitez utiliser des agents hébergés sur le Microsoft Cloud.

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:

Menu du jeton d'accès personnel
  • 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 que votre agent est configuré, exécutez exécuter.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 le menu Pipelines :

Le menu pipeline

Cliquez ensuite sur Nouveau pipeline et indiquez où se trouve le code de votre projet Agilitest et suivez les instructions pour y connecter le pipeline Azure.

Sélectionnez l'endroit où AzuredevOps trouvera votre code

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

Sélectionnez un projet 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.
  • Modifiez la tâche Maven :
    o Changez la valeur de "goals" en "clean test"
    o Changez la valeur de "javaHomeOption" en "Path"
    o Ajoutez une propriété "jdkDirectory" et spécifiez le chemin vers le JDK sur votre machine
    o Supprimez les propriétés "jdkVersionOption" et "jdkArchitectureOption". et "jdkArchitectureOption"
    o Ajoutez une propriété "mavenVersionOption" avec la valeur "Path"
    o Ajoutez une propriété "mavenDirectory" et spécifiez le chemin de Maven sur votre machine
    o Ajoutez une propriété "mavenSetM2Home" avec la valeur "true".
  • Votre fichier YAML devrait ressembler à ceci :
Exemple d'un fichier de configuration Yaml

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 fonctionnant sur les systèmes d'exploitation Windows.

Systèmes pris en charge :

  • Windows Server 2016
  • Windows 10 au moins
  • Linux (2018+)

Besoins en logiciels

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

  • Installation de Java JDK 17 au minimum (Jdk 20 recommandé)
  • Installation du .NET Framework 4.8
  • Navigateurs : Prise en charge des dernières versions des navigateurs et des versions relativement récentes pour lesquelles il existe un driver Web. Une version spécifique peut être configurée par défaut.
  • Chrome
  • Firefox
  • Microsoft MSEdge
  • Opéra
  • Courageux
  • Chromium / JXBrowser (Besoin du support technique d'Agilitest)

Android

Agilitest supporte les versions récentes d'Android > 5.0.

Prise en charge des mobiles physiques.

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

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/

Exigences matérielles

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 moins
  • Mémoire : 16 Go

Installation globale si tout est installé : Environ 500 Mo d'espace disque sont nécessaires.

  • Java JDK: 300 Mo
  • Apache Maven : 10 Mo
  • Bibliothèques de sélénium + ATS: 40 Mo
  • Conducteurs de sites web et de systèmes: 26 Mo

Écran :

Agilitest est destiné aux professionnels de la création et de la maintenance des 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 assez grand peut suffire. Agilitest fait 1500 px de large et 1000 px de haut, 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és de manière lisible sur l'écran.

Réseau et applications

Mise à jour de l'Agilitest :

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

https://api-agilitest.com

https://actiontestscript.com

Accès aux applications :

L'ordinateur sur lequel Agilitest est installé doit avoir accès aux applications :

Web et webservices: Accès à l'application web par l'intermédiaire d'un navigateur web installé sur l'ordinateur

Desktop : l'application doit être installée sur le même ordinateur qu'Agilitest.

Application mobile: Vous devez installer ATSMobileStation sur l'ordinateur sur lequel sont installés les mobiles physiques ou émulés.

SAP Gui : L'ordinateur doit avoir un accès SAPLogon.

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 :

Visualisation d'un fichier au format HAR (source Wikipedia)

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 donc développé de nouvelles actions ATS spécifiques à cette intégration, vous pouvez mettre des filtres URL, démarrer et arrêter l'enregistrement également.

Voici le détail des opérations à effectuer :

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

Il faut savoir que la balise de performance permet d'intégrer d'autres éléments de configuration.

Par exemple, l'intégration avec Octoperf vous permettra de transmettre vos fichiers HAR directement dans des projets Octoperf pour effectuer des tests de charge.

Les correspondances des paramètres sont les suivantes :

  • 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 un menu Performance sur le côté droit de votre écran :

Nouveau menu Performance à droite des actions possibles

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

Menu performance

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.

Démarrer canal en utilisant le mode performance

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

L'action d'ouverture de canal montre une icône identique au menu "Performances".

Démarrer canal en utilisant le mode performance

Ajouter des fonctions d'enregistrement

Voici le détail des différentes fonctions disponibles :

Paramètres

Configurer la capture réseau.

"Menu "Configurer les paramètres du réseau

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

  • Latence : 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écharger : Limite la bande passante de la liaison descendante en octets / seconde.

L'ajout d'un filtre d'URL 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.

Ajoutez un filtre URL

Dossier

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

Enregistrement réseau désactivé

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

Redémarrez la capture réseau

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 Octoperf?

Octoperf est une solution de test de charge SaaS et On-Premise .

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 un test de charge dans Octoperf.

Principe

Le principe est le suivant :

  • Vous enregistrez un scénario de test fonctionnel avec Agilitest.
  • Vous décidez que ce scénario est un bon candidat pour les tests de chargement effectués avec Octoperf : vous ajoutez les actions ATS nécessaires à son instrumentation.
  • Ensuite vous rejouez ce scénario, Agilitest génère un fichier .HAR et peut le transmettre directement à votre compte Octoperf, dans l'espace de travail 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 donc développé de nouvelles actions ATS spécifiques à cette intégration d'Octoperf.

Voici le détail des opérations à effectuer :

Activation du mode Octoperf

Tout d'abord, vous devez activer le mode Performance, vous permettez la génération de fichiers HAR

It is also necessary to activate the Octoperf mode, and the two operations can be carried out at the same time, because you will have to modify 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

Section profil de votre compte Octoperf

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

Clé API
  • 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 :

Nouveau menu Performance à droite des actions possibles

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

Actions spécifiques d'Octoperf

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 en bas à droite.

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


Ouverture d'un canal avec activation des fonctions du réseau


Ajouter des fonctions d'intégration avec Octoperf

Voici le détail des différentes fonctions disponibles :

Paramètres

Vous permettra de configurer la capture du réseau.

"Menu "Configurer les paramètres du réseau

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

  • Latence : 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écharger : Limite la bande passante de la liaison descendante en octets / seconde.

L'ajout d'un filtre d'URL 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.

Filtre des URL autorisées

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.

Action d'enregistrement : l'enregistrement est maintenant désactivé

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

Reprendre l'enregistrement

Sauver l'UEV

Sauvegarde de l'action VU

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 :

Modification de la description de l'utilisateur virtuel
  • Modifier la description de l'UEV qui sera envoyée à Octoperf
Paramètres de sauvegarde pour l'utilisateur virtuel
  • 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électionner 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'id 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 sous-scripts conditionnels, c'est-à-dire que l'évaluation d'une condition entraîne l'appel ou non du sous-script.

Comment appeler des sous-scripts conditionnels

Pour effectuer cette opération, vous devez créer au préalable une action d'appel de sous-script.

Ensuite, cliquez sur "appel de script" puis "créer une condition".

Cliquez sur créer une condition

Agilitest affiche alors une popup de sélection d'une variable sur laquelle la condition est basée, qui doit être une égalité.

Sélection d'une condition

Une seule condition peut être sélectionnée, et il est possible de supprimer une condition définie en recliquant sur "Appel de script".

Possibilité de supprimer une condition

Les autres paramètres d'appel du sous-script restent les mêmes : vous pouvez passer des variables d'entrée ou un fichier CSV.

Pendant l'exécution, Agilitest évaluera la condition et, en fonction du résultat, il appellera ou non le sous-script en utilisant les paramètres définis.

Pour l'instant, seule l'égalité a été proposée comme condition, et Agilitest vous montrera dans l'éditeur le résultat de l'état actuel de l'appel des sous-scripts :

  • Flèche verte : le sous-scriptum serait appelé
  • Sense-forbidden : le sous-script ne serait pas appelé
Signalisation explicite

Nous vous conseillons d'utiliser cette fonction avec beaucoup de précautions, car elle vous permettra d'intégrer la non-généricité dans vos tests, et donc potentiellement des dysfonctionnements liés à des données non contrôlées.

Les cas pour lesquels nous le recommandons sont les suivants :

  • Effectuer un appel en fonction de la valeur d'une variable globale, cela vous permet d'effectuer des opérations de mise en place en fonction de la présence ou non d'une variable dans les paramètres d'appel de l'intégration continue par exemple.
  • Dans un sous-script avec un fichier CSV : appel d'un script en fonction d'un paramètre du fichier CSV passé en appel de sous-script, cela nécessite d'avoir 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

Boîtes de capture sur les éléments survolés

Afin de ne pas être intrusif avec le logiciel testé, Agilitest ne déploiera pas de plugin sur les navigateurs et apparaîtra en surimpression des fenêtres de l'application testée. Dans certains cas, cela peut provoquer des décalages d'affichage entre les deux applications, notamment lors de l'affichage des boîtes de sélection des composants.

Comment faire face à un élément débordant

Symptôme : Le mode capture de mon éditeur AGILITEST n'est pas parfaitement aligné sur la page sur laquelle je veux enregistrer les opérations.

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. De par son nom, ce paramètre doit être réglé à 100% pour le bon fonctionnement de la capture AGILITEST. Pour ouvrir le menu d'affichage : Faites un clic droit dans le fond de la fenêtre et sélectionnez "Paramètres d'affichage".

Définissez la taille du texte à 100%.

Vous avez encore besoin d'aide ?
Contacter le support

Élément "Non trouvé"

Il peut arriver dans l'automatisation des tests qu'un élément ne soit plus reconnu lors d'une exécution en raison de modifications apportées au logiciel.  

Pour y remédier, AGILITEST permet d'ajuster directement les tests dans l'éditeur.

Localisation et analyse

L'utilisateur peut utiliser la vidéo d'exécution du test raté et/ou un rapport illustré pour comprendre et localiser l'échec de la reconnaissance. Il existe alors deux possibilités :

  • 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

Si l'élément recherché n'existe plus :

  • Le test peut être modifié en supprimant cette action directement par "clic droit" via l'éditeur de test.
Supprimer une action
  • L'utilisateur vérifie les actions précédentes, liées et suivantes dans l'exécution du test, si nécessaire.
  • Sauvegardez la modification.

Si l'élément recherché existe bien mais n'est plus reconnu :

  • Une modification du test est donc nécessaire via notamment une mise à jour des critères de reconnaissance de cet élément de l'éditeur AGILITEST.
  • Pour cela, AGILITEST indique précisément quel attribut n'est pas trouvé pour localiser cet élément.
Trouver l'élément non trouvé  
  • Ensuite, ouvrez le mode de capture via l'éditeur.
  • Survolez à nouveau cet élément sur le logiciel à tester.
  • Appuyez sur le bouton CTRL pour capturer l'élément

Re-sélection de l'élément manquant
  • Ajuste les attributs de détection (il est possible d'utiliser une "expression régulière" sur chaque attribut à des fins de robustesse).
Sélection des critères d'identification
  • Valider l'unicité de la détection via le test statistique incorporé.

Validation de l'unicité du composant

Glissez-déposez ces nouveaux attributs sur l'action concernée par cette "non détection" afin de la mettre à jour.

La nouvelle identification est mise en œuvre
  • Sauvegardez la modification.
Vous avez encore besoin d'aide ?
Contacter le support

Opera et Firefox : échec de l'ouverture de canal

AGILITEST peut ne pas localiser automatiquement l'emplacement d'installation des navigateurs sur lesquels vous souhaitez automatiser les tests fonctionnels.

Comment localiser l'installation du navigateur

Message d'erreur relatif :

Pour remédier à cela, il suffit de configurer manuellement le fichier de configuration ATS accessible directement depuis l'éditeur via le menu "Paramètres" > bouton "Editer la configuration".

Modifier la configuration

Le fichier sera automatiquement ouvert avec votre éditeur de fichiers par défaut :

Il vous suffira de définir le chemin spécifiquement établi sur votre système pour accéder aux fichiers d'exécution des navigateurs cibles ("opera.exe" dans notre exemple).

Sauvegardez la modification du fichier de configuration.

Fermez et redémarrez AGILITEST pour prendre en compte la modification.

Le fichier de configuration est également utilisé pour configurer d'autres fonctions de l'éditeur AGILITEST. Pour plus d'informations, veuillez consulter la section installation et configuration> Guide d'utilisation - Configuration de l'éditeur

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

Récupération d'un script

Vous avez la possibilité de supprimer vos scripts ATS via le menu contextuel du clic droit de la souris directement depuis l'arborescence des fichiers de l'explorateur proposé par Agilitest.

Méthode pour récupérer un script

Une fenêtre de confirmation de cette suppression vous est alors proposée :

(Ce dernier vous informe que le script ATS supprimé sera envoyé dans la corbeille du système Windows).

Si cette suppression était une erreur, vous pouvez simplement restaurer ledit fichier via la corbeille du système Windows.

Cliquez sur votre projet ATS dans Agilitest pour mettre à jour son contenu et le script ATS restauré sera à nouveau affiché :

Comment faire un refresh des dossiers dans l'explorateur Agilitest

Le fichier récupéré peut être utilisé

Vous pouvez ensuite le modifier, le lancer, etc., comme s'il n'avait pas été supprimé.

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://assets-global.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

Agilitest vous permet d'utiliser un formatage avancé des commentaires directement à partir de l'éditeur.

Le format utilisé est le HTML, vous pouvez donc concevoir vos commentaires comme vous le souhaitez.

En outre, vous pouvez utiliser les variables de vos scripts pour faire des commentaires intelligents.

Il existe trois types de commentaires :

  • Commentaire de script
  • Étape fonctionnelle
  • Journal d'exécution

Commentaire de script

Ce commentaire explique les opérations effectuées par le script, à l'intention de ceux qui devront notamment le consulter pour le maintenir .

 Sélection d'un type de commentaire dans Agilitest

Commentaires de type "étape fonctionnelle".

Ces commentaires indiquent une étape importante dans le déroulement du test.

Ils sont inclus dans la vidéo et les fichiers de rapport XML / pdf.

Commentaires de type "Journal d'exécution".

Il s'agit de commentaires fonctionnels pour les testeurs.

Échantillons

  1. Caractères gras
  2. Caractères soulignés
  3. Caractères italiques
  4. Utilisation des puces
  5. Utiliser des paragraphes numérotés
  6. Liens actifs cliquables
  7. Montrer une capture d'écran

Vous trouverez ci-dessous quelques exemples de ces formats HTML de chaines de caractères autorisés avec Agilitest :

  • Caractères gras :

<b> Bold characters </b>

  • Caractères soulignés :

<u> Underlined characters </u>

  • Caractères italiques :

<i> Italic characters </i>

  • Utilisation des balles:

<UL> <LI> Using bullets  N°1</LI><LI>Using bullets  N°2</LI></UL>

Texte de commentaire avec puces
  • Classé par ordre de priorité en paragraphes numérotés : :

<OL><LI>Numéro 1</LI><LI>Numéro 2</LI></OL>

Texte du commentaire hiérarchique
  • Insérez un lien actif cliquable (vers un logiciel de suivi bug comme Jira ou Bugzilla):

<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1431248">Bug 1431248</a>

Texte du commentaire contenant un lien
  • Insérez et affichez un lien vers une capture d'écran (qui illustrerait l'erreur à corriger):

<img src="https://bugzilla.mozilla.org/attachment.cgi?id=8943437" width="300" height="110"/>

Texte du commentaire contenant une image
  • Un exemple de commentaire avancé dans l'éditeur :
Vous avez encore besoin d'aide ?
Contacter le support

Attributs "text" dans la reconnaissance des éléments

Avertissement concernant les attributs texte

Nous recommandons d'utiliser les attributs "text" d'un élément sur lequel vous voulez automatiser une action uniquement lorsque vous ne pouvez pas faire autrement pour les raisons suivantes :

  • La reconnaissance de l'élément ne fonctionne plus dans un contexte multilingue de votre solution.
  • Certains navigateurs sont sensibles à la casse (et d'autres non), donc une lettre majuscule tend à diminuer la robustesse et la portabilité de votre test.
  • La gestion des sauts de ligne et/ou des espaces peut différer d'un navigateur à l'autre.

Cependant, ces attributs "text" seront les seuls attributs disponibles pour reconnaître un élément.

Une fois que vous avez sélectionné l'attribut "text", vous pouvez cliquer dessus pour en éditer le contenu : nous avons ajouté quelques options vous permettant une édition automatique des valeurs avec des expressions régulières utiles pour éviter ces derniers problèmes.

Sélectionnez un élément à l'aide de son texte : cliquez sur la case de l'expression régulière.

Ajouter automatiquement l'expression régulière pour gérer le cas dans les mutli-navigateurs

Après activation : les espaces sont remplacés par des \s* et la chaîne de caractère commence par ( ? i)

Par la suite, AGILITEST ne prendra pas en compte les espaces et la casse sur ces éléments de reconnaissance quels que soient les navigateurs utilisés pour augmenter encore la robustesse de vos tests fonctionnels automatisés.

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

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://assets-global.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://assets-global.website-files.com/60799032d5e3523ef1cd727c/60910360e8e6f57b55aa7ddd_image-19.png

Les actions possibles sont les suivantes :

https://assets-global.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://assets-global.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.

Nous avons développé de nouvelles actions ATS spécifiques à Neoload

Voici le détail de ce qui est disponible :

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 un menu Neoload sur la droite de votre écran :

 Nouveau menu Neoload à droite

Le menu Neoload est défilable et affiche les sous-menus suivants :

Sous-menus de Néoload

Voici le détail des différentes fonctions disponibles :

Début

Permet de dire à 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.

Démarrer un scénario utilisateur Neoload

Stop

Indique à Neoload d'arrêter le parcours utilisateur en cours.

Terminer un parcours utilisateur

Les options disponibles sur l'action :

  • Find framework parameters : 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.

Action pour créer un conteneur Neoload

Enregistrement

Enregistrer l'action d'activation/désactivation

Cette action active et désactive l'enregistrement dans Neoload.

Reprise de l'enregistrement dans Neoload
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

Tester le comportement non-nominal

Lors de vos tests fonctionnels, vous devrez mettre en place des contrôles qui correspondent au bon fonctionnement de votre application, en vérifiant que les éléments qui doivent être affichés sont corrects. En général, c'est assez simple lorsque le logiciel fonctionne de manière nominale car il suffit de sélectionner les éléments dont vous avez besoin.

Dans certains cas, il est également nécessaire de vérifier que les cas de fonctionnement non nominaux ne se produisent pas. Et il peut être difficile de reproduire ce type de cas de défaillance lorsque le logiciel fonctionne de manière nominale.

Comment tester un comportement non nominal

Nous allons voir une astuce qui n'est pas utilisable dans tous les cas, mais qui peut vous aider dans certaines situations.

Dans notre exemple, la page que nous allons tester doit afficher un fichier pdf. En mode nominal, ce fichier est affiché en utilisant la visionneuse interne de votre navigateur web. Le code utilisé est similaire à celui-ci :

<object data="agilitest.pdf" type="application/pdf">

En mode nominal , vous obtenez le résultat suivant :

Affichage d'un pdf natif dans Chrome

Lorsqu'on consulte un fichier pdf produit par une application qui peut être différente d'un cas à l'autre, il peut être très difficile de vérifier que le pdf s'affiche bien : le contenu peut être totalement différent d'une publication à l'autre et parfois on ne sait pas vraiment quoi chercher.

Il devient intéressant de vérifier que le cas de non-affichage du pdf ne se produit pas. Mais voilà : comment le simuler si ma page fonctionne correctement.

L'astuce consiste à aller éditer directement la page dans Chrome pour lui dire d'ouvrir un document pdf qui n'existe pas.

Il suffit de cliquer sur F12 pour afficher le code HTML de la page :


Ouverture de l'édition du code HTML dans Chrome

Le code affiché est le suivant :

<div align="middle">
<object data="agilitest.pdf" type="application/pdf">
<iframe src="https://docs.google.com/viewer?url=agilitest.pdf&embedded=true">
</iframe>
</object>
</div>

Il suffit ensuite de modifier le nom du fichier, par exemple en ajoutant une lettre, et d'appuyer sur la touche ENTER : Chrome interprétera le nouveau code et affichera le résultat : Cet affichage correspond à celui que vous obtiendrez lorsque le fichier pdf n'est pas correctement généré et n'est pas disponible.

Résultat affiché lorsque le fichier n'est pas trouvé

Il suffit d'effectuer un contrôle graphique sur une partie de cet affichage représentative d'uncas d'erreur:

Passez en mode capture et sélectionnez une partie du message affiché, puis déposez-la dans Agilitest pour créer un contrôle des occurrences.

Veillez à définir que le nombre d'occurrences de l'image doit être égal à zéro, ce qui correspond au résultat nominal.

Dans cet exemple particulier, nous avons utilisé la reconnaissance graphique parce que nous voulons contrôler l'affichage d'un visualisateur de pdf interne à Chrome. Il est possible que pour vos cas particuliers, vous puissiez traiter ce contrôle final uniquement avec des éléments internes, (DOM ou structure de votre application Android ou iOS) affichés dans une jolie popup d'erreur.

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.

Vous avez encore besoin d'aide ?
Contacter le support

Appel de code Javascript

Agilitest permet d'appeler du code javascript sur un composant qui a été capturé.

Cela diffère d'un appel Java qui ressemble davantage à un appel sous-script .

Dans les deux cas, vous devez être informé qu'il sera possible de modifier les éléments du logiciel que vous testez, et donc de vous détacher de l'opération que vous êtes censé contrôler.

Dans certains cas, c 'est très pratique, voire nécessaire: Nous allons voir le cas du curseur.

L'image suivante montre deux curseurs dont la valeur initiale est de 50.

Lorsqu'on manipule un curseur, il est assez complexe de définir une valeur précise uniquement en utilisant les actions de déplacement de la souris, comme le montre l'exemple ci-dessous, les deux curseurs affichent des valeurs différentes pour un même glissement de 100 pixels vers la droite.

Faites glisser une goutte de 100 pixels vers la droite
déplacement de 100 px : les curseurs ont des valeurs différentes

Quel est le problème ? Si vous effectuez un test basé sur un déplacement de 100 pixels et que par la suite la valeur du curseur est critique pour le succès de votre test, vous devenez dépendant de l'implémentation du curseur.

Dans ce cas, le javascript est particulièrement adapté, car il vous permettra de définir une valeur directement sur l'élément du curseur en modifiant la valeur de sa variable interne :

valeur=75 ;

La même valeur est définie sur les deux curseurs

Ensuite, les deux curseurs qui ont des tailles différentes permettent de régler la même valeur, quel que soit le mouvement des curseurs, qui sont différents.

Les valeurs sont identiques

Contrôles visuels

Vous pouvez modifier le style et donc la couleur des éléments que vous testez, pour cela il suffit de modifier l'objet style :

style.backgroundColor="vert"

Modifier le style de l'élément

Cela vous permettra d'afficher des contrôles visuels dans les fichiers ATSV ou les rapports XML produits par Agilitest. Cela peut être utile...

Le curseur est devenu 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 retournée pour effectuer un contrôle simple.

Ce n'est pas une situation optimale car vous devrez peut-être gérer du code de développement incluant cette fonction et du code de production avec les aléas qu'elle peut provoquer, mais cela peut conduire à des situations complexes à gérer.

Pour cela, 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 faisant référence à une variable de retour, sur laquelle vous n'aurez qu'à effectuer un contrôle de valeur.

 Appel et vérification d'une fonction de contrôle en javascript  
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

menu à valeur spéciale

Ces fonctions peuvent être utilisées pour définir toutes les variables modifiables dont vous avez besoin, et peuvent être concaténées pour générer une valeur plus complexe.

Voici les principales fonctions pour y accéder :

  • Variable d'environnement : Renvoie la valeur d'un paramètre d'exécution défini dans l'exécution en cours. Exemple: $env(parameter)
  • Variable de script: Renvoie la valeur d'une variable. Exemple: $var(variable)
  • Paramètre de script: Dans un sous-script, renvoie la valeur d'une variable passée en paramètre en indiquant son index. Exemple: $param(index_param)

Vous pouvez dérouler le menu pour accéder aux "valeurs calculées".

valeurs calculées
  • Maintenant : Retourne une chaîne de caractère indiquant l'heure actuelle de l'ordinateur qui rejoue le test (ou du serveur d'intégration continue). Exemple: $now : 17:38:11
  • Aujourd'hui : Retourne une chaîne de caractère indiquant le jour actuel de l'ordinateur rejouant le test (ou du serveur d'intégration continue). Exemple: $today : 30/08/2023
  • Identifiant unique : Renvoie un identifiant au format Universal Unique Identifier (UUID). Exemple : $uuid : 110e8400-e29b-11d4-a716-446655440000
  • Caractères aléatoires : Renvoie une chaîne de caractère aléatoire en indiquant le nombre de caractères souhaité et leur casse. Exemple :

$rndstring(10): Génère une chaîne de caractère de 10 caractères aléatoires

$rndstring(15, low): Génère une chaîne de caractère de 15 caractères minuscules.

$rndstring(8,upp): Génère une chaîne de caractère de 8 caractères majuscules.

Variable d'environnement

Les variables d'environnement sont déclarées dans les paramètres d'exécution de votre projet.

Pour accéder aux paramètres d'exécution, cliquez sur "Gestion des exécutions" dans l'explorateur de projet.

Sur l'écran principal, sélectionnez une exécution, puis ajouter un nouveau paramètre et modifiez sa valeur.

variables d'exécution

Ces variables doivent être déclarées comme des chaines de caractères et ne peuvent pas utiliser les fonctions de modification disponibles pour les autres variables.

Pour les utiliser dans vos scripts, utilisez la fonction $env(nom_du_paramètre).

Utilisation avancée des variables

Agilitest vous permet de transformer une variable de 5 manières différentes pour faciliter les calculs.

  • Chaines de caractères
  • Expressions régulières
  • Date
  • Temps
  • Numérique

Chaines de caractères

Par défaut, toutes les variables sont des chaines de caractères.

Une variable peut être transformée lors de sa création en cliquant sur le bouton correspondant.

5 types de calcul

Lorsqu'une chaîne de caractère est transformée, une page est affichée en fonction du type utilisé pour la gérer.

Exemple:

Si vous cliquez sur le bout "Expr. régulière", 

bouton de l'expr régulier

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

une expression régulière

Vous pouvez concaténer des variables au format chaîne de caractère entre elles et avec du texte.

Exemple :

Si l'on prend deux variables :

  • Date variable : 8/9/2019
  • Une variable horaire : 11:34:33
variable horaire

Si vous créez une variable $day et lui donnez la valeur $var(date)_$var (heure)

Sa valeur littérale sera alors 8/9/2019_11:34:33

Transformation en expressions régulières

Les expressions régulières sont utilisées pour diviser les chaines de caractères afin de générer des variables correspondant à des sous-groupes de caractères.

Le menu de gestion des expressions régulières vous demandera un modèle qui doit correspondre à votre valeur d'origine.

Ce modèle comprend des parenthèses qui définissent les sous-groupes et sont utilisées pour déterminer la valeur de la variable.

En sélectionnant le groupe 1, la variable aura la valeur correspondant au modèle défini dans la première parenthèse.

expression régulière

Transformation en date

Il est possible d'effectuer des calculs de date pour obtenir une date plus ou moins éloignée, dans un jour, un mois, etc.

À partir de la valeur saisie, des sélecteurs permettent d'ajouter ou de soustraire des jours, des mois ou des années.

Le format d'origine pris en charge peut être m/d/yy ou yyy-mm-dd, c'est-à-dire un format anglais.

La date obtenue peut ensuite être utilisée dans des variables regex pour récupérer le jour, le mois ou l'année.

variable de date

Transformation en horaires

Cela fonctionne de la même manière que la transformation d'une variable en date. Dans ce cas, les sélecteurs permettent d'ajouter ou de supprimer des heures, des minutes ou des secondes à un moment donné.

Le format de la variable d'entrée est hh:mm:ss.

variable horaire

Transformation en numérique

Les variables transformées en nombres sont utilisées pour manipuler des entiers ou des décimales au format nn.nnnnnnn.

Le format d'entrée peut être un nombre décimal dans ce format, ou un nombre décimal avec une virgule comme séparateur.

variable numérique

Les opérateurs standard peuvent être utilisés pour effectuer des calculs :

  • +: addition
  • - : soustraction
  • x : multiplication
  • /: division

Les fonctions mathématiques les plus courantes sont implémentées : sin, cos, tan, power, ln, etc.

Pour des cas très spécifiques où vous devez effectuer des opérations particulières, vous pouvez appeler du code Java en passant certaines valeurs en tant que paramètres et en récupérant ensuite une variable sur laquelle vous pouvez placer un contrôle.

Utilisation de conditions "si" (if)

Vous pouvez utiliser la condition "if" dans les variables à transformation numérique.

Pour une formule composée de 3 groupes :

if($var(var1) < $var(var2) ; 1 ; 0)

1st Group = $var(var1) < $var(var2)

2ème groupe = 1

3ème groupe = 0

Si la formule est vérifiée, la première valeur après le point-virgule sera affichée : c'est-à-dire le deuxième groupe avec la valeur 1.

Si la formule n'est pas vérifiée, le 3ème groupe sera affiché : c'est-à-dire la valeur 0.

Exemple :

exemple avec valeur et variables

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

ChatGPT : Un outil pour créer vos variables

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.

fenêtre de dialogue

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.

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

bouton chatgpt

Saisissez les données que vous souhaitez extraire de la phrase saisie comme valeur

langage naturel

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 :

requête introduite dans le chatgpt

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

regex de chatgpt

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

La fonction de contrôle

Tout passe par la fonction "Vérification", qui se décline en trois sous-fonctions :

  • Vérifier les propriétés
  • Vérifier les occurrences
  • Vérifier les valeurs

"Vérifier les propriétés" et "Vérifier les valeurs" fonctionneront 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'occurrence du contrôle permettra de contrôler le nombre d'éléments comptés 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é.

Vérifier les propriétés

Dans l'exemple ci-dessus, nous sélectionnons un SPAN avec un "id" égal à "cwos".

Nous vérifions ensuite sa propriété "text" qui doit être égale à 4.

La fonction de vérification effectuera la comparaison en considérant les deux paramètres comme chaines de caractères; et accepte les expressions régulières.

Vérifier les valeurs

Cette fonction prend en entrée une variable qui peut être modifiable ou non.

L'opération est alors identique à l'action "Vérifier les propriétés".

Vérifier les occurrences

La vérification de l'occurrence contrôle le nombre d'éléments trouvés sur la page actuelle en utilisant un Agilitest locator.

En effet, dans certains cas, il peut être utile de définir des localisateurs qui peuvent correspondre à plusieurs éléments. Cela permet par exemple de 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 plus de robustesse à vos tests.

Vérifier les occurrences

Occurrence des contrôles et 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 la vérification des occurrences et la reconnaissance graphique pour déterminer quand vous pourrez poursuivre votre test. Dans l'exemple ci-dessous, nous attendons la fin d'un traitement en vérifiant sa "barre de progression", et en la comparant à celle qui sera affichée à la fin du traitement.

Contrôle graphique avant de passer à autre chose.
Vous avez encore besoin d'aide ?
Contacter le support

Appel de code Java

Agilitest est connu pour sa large couverture de diverses technologies récentes dans le domaine du développement logiciel, et vous permet généralement d'automatiser à peu près tout ce qui peut l'être en quelques clics et graphiquement.

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

Nous allons voir dans cet article comment 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 évidemment, nous recommandons toutes les précautions d'usage dans l'utilisation du code externe java, car s'il permet de tout faire, il peut aussi avoir un impact non désiré sur le SUT (System Under Test).

En termes de portabilité, le code .ats que produit Agilitest est transformé en java pour être exécuté. Vous pouvez donc considérer que le code java que vous écrirez sera portable sur les différentes plateformes supportées par ATS.

Quoi, écrire du code !

Allons-y !

Pour commencer, vous allez générer le stub de votre code java dans Agilitest en faisant ce qui suit :

  • Dans l'explorateur Agilitest, sélectionnez le répertoire java dans src / main au même niveau que vos fichiers .ats .
  • Faites un clic droit et sélectionnez : Nouveau script java.
  • L'éditeur ouvre une popup pour demander le nom du script, entrez le nom de votre script et cliquez sur OK.
  • L'éditeur ouvre alors une fenêtre d'édition de code java et, après les déclarations nécessaires et utiles, affiche la fonction qui sera appelée : testMain().

public class test extends ActionTestScript{
public void testMain() { }
}

Paramètres

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

Pour ce faire, vous devez cliquer sur "appeler le script" ou sur le petit crayon qui apparaît lorsque vous survolez l'action, puis cliquez sur "ajouter un paramètre".

Passez des paramètres à un appel de sous-script en java dans Agilitest

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 pour cela : utilisation de variables, valeurs en "dur", itérations sur un fichier .csv.

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

chaîne de caractère param1 = getParameter(0).toString() ;
int param2 = getParameter(1).toInt() ;
double param3 = getParameter(2).toDouble() ;
boolean param4 = getParameter(3).toBoolean() ;

Récupération des résultats

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

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

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

Déclaration des variables dans Agilitest
  • Déclarez une nouvelle variable dans le menu de gestion des variables dans la partie gauche de l'éditeur.
  • Le type sera modifiable par défaut (violet).
  • Nommez cette variable
  • Déposez-le directement dans l'action d'appel sous-script
  • Agilitest va changer le type de la variable pour la rendre non modifiable par l'utilisateur (orange) et l'indiquer comme valeur de retour de l'appel java.
  • Par la suite, vous pouvez utiliser cette variable dans votre script
Déclarez une variable retournée par un script

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) ;

Évidemment, le nombre de valeurs retournées doit correspondre au nombre de variables déclarées du côté de 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 cette compilation, vos éventuelles erreurs de syntaxe seront mises en évidence. Vous pouvez en savoir plus sur la compilation des tests et la configuration des exécutions.

Une fois votre projet compilé, vous pourrez exécuter votre test, et les actions java comme s'il s'agissait des actions standard d'Agilitest : pas à pas (action Agilitest par action Agilitest) et mode d'exécution identique, chaque action java s'exécutant en une seule fois.

Si votre code java est un peu complexe, et que vous voulez le déboguer, le pas à pas sera possible à condition d'avoir assigné un port de débogage Java dans agilitest et d'avoir un IDE de type eclipse ou intelliJ.

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

Comment fonctionne la reconnaissance des zones graphiques

La reconnaissance des zones graphiques est utilisée dans Agilitest pour permettre :

Voici comment cela fonctionne :

A tout moment lorsque vous êtes en mode "capture", vous pouvez identifier une zone rectangulaire de l'application testée par glisser-déposer.

La sélection d'un locator

Sélectionnez une zone graphique

Agilitest affiche alors l'image que vous avez sélectionnée et vous permet de la copier, de la sauvegarder, ou de passer directement à la génération d'un locator en l'utilisant, en activant l'affichage de l'arbre des éléments.

Affichage de l'image sélectionnée

Lorsque vous cliquez sur "Element Tree", Agilitest affichera la structure du logiciel ou DOM jusqu'au plus petit élément qui contient complètement l'image sélectionnée. Cette opération vous permettra d'assurer une identification unique de votre image qui pourrait être imprimée à plusieurs endroits de votre logiciel.

En effet, sans sélectionner un locator, vous pouvez vous retrouver avec une image présente à plusieurs endroits, il suffit d'utiliser l'outil loupe pour s'en rendre compte :

2 images similaires trouvées par la loupe sans ajout supplémentaire du locator

Pour résoudre ce problème, il suffit de sélectionner les éléments parents et leurs attributs pour générer un locator supplémentaire et de déposer le tout dans une nouvelle action de l'éditeur Agilitest.

Le site final locator comprenant une image et des éléments DOM : une image

Si pendant cette phase de sélection du site locator vous cliquez sur le bouton "Statistiques", Agilitest masquera temporairement la grille de capture afin que vous puissiez reconnaître le composant graphique dans la page.

La sélection finale du locator

Juste après le dépôt dans l'éditeur, la génération d'une nouvelle action est effectuée et affichée. Elle contient un lien vers une image qui est sauvegardée dans le répertoire src/assets/resources/images.

Le locator final dans Agilitest

Et les fichiers dans l'explorateur de projet

Vous pouvez visualiser toutes les images qui ont été utilisées dans votre projet en sélectionnant le menu "Show resources images" de l'explorateur de projet :

Une vue de toutes les images d'un projet
Menu de reconnaissance d'image

Le menu de recherche d'image que vous obtenez en cliquant sur l'image dans l'éditeur vous permet d'ajouter les informations suivantes :

  • Utilisation d'un locator pas unique pour identifier les occurrences, puis sélection par un index de l'image de manière unique.
  • Vous pouvez agir sur la tolérance de reconnaissance graphique et sur l'algorithme utilisé. Pour le moment, seul l'algorithme ATS est proposé et nous vous conseillons de conserver la tolérance par défaut (0,5%).

Affirmations graphiques

Les assertions 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 temporisations d'attente, etc.

Pour les réaliser, il suffit de déposer l'élément graphique dans une action de type "Contrôle d'occurrence".

Contrôle des occurrences d'images

Cependant, nous devons porter une attention particulière à ce contrôle des occurrences : Agilitest va contrôler les images qui sont effectivement affichées sur la page (contrairement à une approche DOM qui peut potentiellement tracer les objets non affichés).

Dans ce cas, il faut s'assurer que la fenêtre est 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

Pourquoi Agilitest a besoin de pilotes Web

Agilitest est une solution logicielle installée sur votre ordinateur et régulièrement mise à jour au lancement.

L'objectif est de mettre à disposition le plus rapidement possible de nouvelles fonctionnalités pour nos clients, de corriger les bugs présent dans la solution, mais aussi de s'adapter aux évolutions des navigateurs que nous supportons.

Dans les faits, sans configuration supplémentaire, Agilitest supporte actuellement 5 navigateurs : Chrome, Firefox, NewEdge, Opera et Internet Explorer en version 11.

Notre philosophie est de fournir un support le plus rapidement possible aux dernières versions des navigateurs, et c'est pourquoi nous utilisons les pilotes web pour communiquer avec les navigateurs : nous pouvons fournir un support très rapide dès que les pilotes Selenium sur lesquels nous nous appuyons sont mis à jour sur ces dernières versions.

Par conséquent, la mise à jour d'Agilitest apportera avec elle la dernière version du driver et pilotera la dernière version du navigateur, et généralement vous n'avez rien à faire car :

  • Si vous mettez à jour votre navigateur, cela devrait se faire sans impact sur l'opération.
  • Si vous ne le mettez pas à jour, eh bien, il est souvent possible que la dernière version de driver assure une rétrocompatibilité avec les versions précédentes des navigateurs, et dans la plupart des cas, cela se passe bien.

La mise à jour de Chrome 74

Sauf que cela ne s'est pas passé comme prévu pour Chrome 74 : La mise à jour de fin avril 2019 et chromedriver Selenium a apporté une rupture de compatibilité avec Chrome 73. Et depuis cette date, cela arrive en quelque sorte avec les nouvelles versions.

Pour permettre à nos clients de mettre à jour leur version de d'une version de Chrome à une autre, nous avons rendu possible le déploiement de configurations alternatives n'annonçant pas le support officiel.

Par exemple, actuellement, Agilitest peut piloter Chromium et une extension de celui-ci, JXBrowser, un navigateur intégrable dans un client lourd java.

Comment procéder

L'ajout de nouvelles versions de navigateur à 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 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 de l'exécutable que pour un navigateur déjà connu d'Agilitest.

La balise driver indique à Agilitest le nom du .exe driver à charger (dans le répertoire $ user /.actiontestscript/drivers/directory)

Voici les liens des pilotes pour Chrome, Firefox, IE, et Edge

La balise path indique le chemin de 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 celui 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 de MSEdge, vous pouvez utiliser les lignes suivantes :

<browser>
<name>msedge</name>
<path>C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe</path>
</browser>

Vous avez encore besoin d'aide ?
Contacter le support

Support de JXBrowser

Qu'est-ce que JxBrowser ?

JxBrowser est une couche d'application pour l'intégration de pages web modernes, contenant HTML, CSS et Javascript, dans des applications Java. Il permet de construire l'interface graphique de votre application multi-bureau en utilisant n'importe quelle boîte à outils UI HTML5 populaire. Vous pouvez également utiliser les boîtes à outils HTML5 récentes pour produire des applications java fonctionnant sur plusieurs plateformes. JxBrowser est basé sur le projet open-source Chromium qui comprend le code source et les bibliothèques écrites par les développeurs de la communauté Chromium.

JxBrowser est une bibliothèque puissante qui permet aux développeurs d'intégrer un composant de navigateur Web dans leurs applications Java. Avec JxBrowser, les développeurs peuvent facilement afficher et interagir avec le contenu Web dans leurs applications Java, ce qui facilite la création d'interfaces utilisateur riches et modernes. La bibliothèque est basée sur le projet Chromium, qui fournit le moteur de rendu sous-jacent et l'ensemble des fonctionnalités de JxBrowser. Cela permet aux développeurs de tirer parti des dernières technologies Web, telles que HTML5, CSS3 et JavaScript, sans avoir à se soucier des problèmes de compatibilité entre navigateurs.

L'une des principales caractéristiques de JxBrowser est sa capacité à interagir avec les pages Web en utilisant le langage de programmation Java. Les développeurs peuvent ainsi appeler des fonctions JavaScript et accéder au Document Object Model (DOM) des pages Web directement à partir de leur code Java. Cela peut être utile pour automatiser les interactions avec les pages Web ou pour créer des interfaces utilisateur personnalisées à partir de pages Web existantes.

En plus de ses capacités de rendu Web, JxBrowser offre également un certain nombre d'autres fonctions utiles, telles que la prise en charge des paramètres de proxy, des cookies et des extensions de navigateur. Cela permet aux développeurs de personnaliser le comportement du navigateur embarqué pour répondre aux besoins de leur application spécifique.

Globalement, JxBrowser est un excellent choix pour les développeurs qui souhaitent ajouter une fonctionnalité de navigation Web à leurs applications Java. Grâce à ses puissantes fonctionnalités et à la prise en charge des technologies Web modernes, JxBrowser peut aider les développeurs à créer des interfaces utilisateur attrayantes et interactives qui fonctionnent sur plusieurs plates-formes.

Comment configurer JXBrowser ?

La configuration de JXBrowser nécessite l'ajout d'une nouvelle paire driver-browser à votre fichier de configuration Agilitest .atsProperties. Ce fichier se trouve par défaut dans le répertoire suivant : votre répertoire utilisateur, suivi de .actiontestscript).

You must add a <browser> section as follows:

<browser>
<name>jx</name>
<driver>jxbrowser</driver>
<path>C:\Program\path_to_jxbrowser_based_application\app.exe</path>
</browser>

  1. <name> is the name you want to print in Agilitest
  2. <driver> : Download the latest Selenium driver for Chromium integrated with JXBRowser, available at:

https://sites.google.com/a/chromium.org/chromedriver/

Le répertoire des pilotes contenant le chromedriver correctement renommé driver

3. Décompressez le fichier driver et copiez le fichier "chromedriver.exe" dans le répertoire d'installation des pilotes Agilitest (par défaut : votre répertoire utilisateur, suivi de .actiontestscript/drivers).

4. Le fichier "chromedriver.exe" doit être renommé par le nom de driver que vous avez donné dans votre fichier de configuration (dans ce cas jxbrowser.exe, mais vous pouvez donner le nom que vous voulez tant qu'il n'a pas d'impact sur Chrome driver et que le fichier .exe correspond à ce qui est configuré dans le fichier .atsProperties).

5. <path>: path to the executable that launches your JXBrowser application

6. La configuration de JXBrowser doit permettre le débogage à distance sur le port 9222.(https://jxbrowser.support.teamdev.com/support/solutions/articles/9000013082-remote-debugging-port)


Vous avez encore besoin d'aide ?
Contacter le support

Connexion à un processus existant

Différents modes de lancement des applications

Agilitest est une solution multicanal qui vous permet de vous connecter à plusieurs canaux simultanément pour différents types d'applications :

  • Canaux Web: Chrome, Firefox, IE, Edge et Opera : en ouvrant un canal sur l'un des navigateurs, puis en effectuant une action de navigation sur une URL.
  • Canaux de bureau: Tous les types d'applications compilées pour Windows. Il suffit de sélectionner le fichier exécutable directement dans l'action d'ouverture du site canal (.EXE).
  • Chaînes Android: Toutes les applications fonctionnant sur les appareils Android, y compris celles proposées par le système d'exploitation. Dans ce cas, la sélection de l'application passe par une connexion au terminal via "ATS Mobile Station ", qui permet ensuite d'accéder à la liste de toutes les applications installées.
  • Les canaux SOAP ou JSON web service : Le web service est sélectionné à l'ouverture du canal , et la navigation permet d'appeler des services spécifiques.

Ma demande ne correspond à aucun de ces cas !

Pour chacune des situations décrites ci-dessus, c 'est Agilitest qui lance l'application testée car c'est son fonctionnement nominal.

Dans certains cas, il n'est pas possible de faire lancer l'application à tester par Agilitest, cela peut se produire par exemple dans les cas suivants :

  • Le lancement d'une application avec un fichier .bat initialise les variables d'environnement avant de lancer le .exe. Dans ce cas, il n'est pas possible de lancer directement le .exe. (en fait, vous pouvez utiliser un appel java d'Agilitest pour le faire).
  • Lancement de l'application au démarrage de Windows par un service. Cependant, l'application doit disposer d'une fenêtre graphique sur laquelle elle peut agir.
  • Utilisation d'une application Windows spécifique pour effectuer certaines opérations dans le cadre d'un test général de bout en bout (par exemple : Explorer.exe).

La solution

Pour utiliser un processus existant comme canal test Agilitest l'astuce consiste à l'identifier parmi les processus en cours d'exécution sur la machine de test. Voici comment procéder :

  • Créez une action d'ouverture canal
  • Spécifiez le nom du processus auquel vous souhaitez vous accrocher en commençant par process://.

L'utilisation d'expressions régulières est possible pour spécifier le nom de l'application concernée, par exemple :

process://.*notepad\+\+\.exe

Se connecter à un processus existant


Vous avez encore besoin d'aide ?
Contacter le support

Sélection de fichiers par les navigateurs

Pourquoi sélectionner des fichiers à partir d'un navigateur ?

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 mise en œuvre par tous les outils gérant des données métier : 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 être capable de s'interfacer avec la partie "bureau" du navigateur. Dans ce cas, s'appuyer sur la page HTML et le DOM n'est pas suffisant, il faut soit récupérer et reconnaître la structure interne des composants et 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 supporte l'utilisation de différentes technologies applicatives (web, desktop, ...) au sein d'un même test. Nous utiliserons un basculement DOM-desktop.

Le problème 1 est facilement traité par Agilitest et voici la solution :

  • Ouvrez un canal sur votre application et exécutez votre test jusqu'à la partie téléchargement.
  • Lorsque la fenêtre de sélection du fichier s'ouvre, il suffit d'appuyer sur la touche "ALT" de votre clavier pour passer du mode de reconnaissance des composants du DOM au mode de reconnaissance des composants du bureau. Là, vous pourrez naviguer dans votre fenêtre de sélection du fichier.
  • A la fin de la sélection de votre fichier, vous pouvez fermer la fenêtre modale et utiliser la touche "ALT" pour revenir à la partie web avec un DOM.
Sélection d'un fichier sur l'ordinateur de l'utilisateur à partir d'une application web

Astuce : Pour plus de robustesse, nous vous conseillons de placer un fichier dans une arborescence facilement accessible de votre système de fichiers et que vous pouvez reproduire partout, par exemple en "accès rapide" sous Windows Explorer.

Solution au problème 2 : Agilitest sait comment gérer le comportement spécifique des navigateurs.

Le problème 2 est géré avec Agilitest à l'aide de sous-scripts établis via un fichier de données (CSV) dans la combinaison suivante data-driven testing fichier de données (CSV) dans la combinaison suivante :

  • Appels d'un premier sous-script alimenté par le paramètre "navigateur" en colonne du fichier CSV. Nous récupérons le nom du navigateur pour itérer le lancement du même test sur plusieurs navigateurs.
  • Appeler les sous-scripts suivants dont le nom est composé à partir du paramètre "browser" du premier sous-script. Par exemple : script_chrome.ats, script_opera.ats, etc. Nous utilisons le nom du navigateur pour personnaliser le nom du script exécuté.

La solution proposée permet de gérer les différences de comportement des navigateurs. Cependant, nous ne vous 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 ...
  • Fermeture de 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

Fonction d'attente

Le problème du temps d'attente non constant

Certaines applications sont dépendantes d'éléments externes pour pouvoir poursuivre leur traitement : attente d'une réponse d'un serveur, attente des résultats d'un calcul, attente de l'affichage complet d'une page qui peut dépendre des implémentations des navigateurs, etc.

Cela pose un problème lors de la réalisation des tests fonctionnels : comment gérer correctement cette attente sans provoquer une situation d'échec des tests et sans passer trop de temps à attendre ?

La solution est de ne pas attendre un temps donné pour continuer le test, pour des raisons évidentes : vous ne savez pas combien de temps vous allez devoir attendre. De plus vous allez complètement polluer votre base de données de tests automatisés en saupoudrant ici et là des temps d'attente parfois inutiles, ce qui va considérablement ralentir l'exécution de tous vos tests.

C'est pourquoi vous ne trouverez pas de fonction "attendre" dans Agilitest ...

La solution Agilitest : faire un "contrôle de l'occurrence".

De quoi s'agit-il ?

Un contrôle d'occurrence est une action d'Agilitest qui vérifie qu'un ou plusieurs éléments sont présents ou manquants dans la page ou le logiciel testé.

Cette solution indique à Agilitest que vous voulez contrôler le nombre d'occurrences d'un objet dans votre application.

L'action vérifiant les occurrences d'un objet dans Agilitest

Il est applicable dans les situations suivantes :

  • Nous voulons attendre que la page ait fini de se charger pour poursuivre le traitement. Dans ce cas, nous pouvons effectuer un contrôle d'occurrence sur un élément qui s'affichera en bas de la page à la fin du chargement.
  • Nous voulons attendre une modification de la page qui va supprimer les éléments déjà imprimés. Dans ce cas, nous effectuons un contrôle d'occurrence égal à 0 (contrôle d'absence) sur un élément qui doit disparaître avant de poursuivre le test.

Dans les deux cas et tant que les conditions de réussite du contrôle d'occurrence ne sont pas remplies, Agilitest commencera à se considérer "en situation d'échec potentiel" du test, et multiplieradonc les contrôles pour éviter de générer un faux négatif.

Au terme de son contrôle, Agilitest produira une situation d'échec du test, sauf si, entre-temps, les conditions de réussite du contrôle sont réunies, et donc que les éléments que nous attendions sont présents ou ont été retirés.

L'option "Essais maximum" dans Agilitest

L'astuce consiste à indiquer à Agilitest le nombre d'essais qu'il devra effectuer pour attendre les conditions de la vérification. Cela se fait en sélectionnant un nombre d'essais maximum qu'il devra effectuer avant de considérer "être en échec" sur cette action.

Chaque action a la possibilité d'attendre et de réessayer plusieurs fois. Cela contribue grandement à la robustesse des tests lorsque vous savez que votre serveur peut être dans une situation où il ne livre pas la page désirée immédiatement.

Le nombre maximum d'essais est limité à 50, mais le temps d'attente entre chaque essai 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é.

En utilisant cette solution, nous pourrions même demander d'attendre la fin d'une bande-annonce sur une application Android diffusant de la vidéo ...

Comment attendre encore pour une période déterminée ?

Il y a toujours une solution avec Agilitest, et dans ce cas, elle consiste à utiliser un morceau de code Java, voici comment :

  • Dans l'explorateur Agilitest, sélectionnez le répertoire java dans src / main au même niveau que vos fichiers .ats .
  • Faites un clic droit et sélectionnez : Créer un script java.
  • L'éditeur ouvre une popup pour demander le nom du script, entrez attendre et cliquez sur OK.
  • 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) {}

  • Glissez-déposez le script "wait.java" de l'explorateur Agilitest à l'endroit où vous voulez l'appeler dans votre test.

ASTUCE : Si vous voulez pouvoir spécifier le temps d'attente directement à partir de votre script ATS dans Agilitest, vous pouvez déclarer un paramètre passé par valeur au script et ensuite utiliser le code suivant :

try {
        final int ms = getParameter(0).toInt();
        Thread.sleep(ms);
} catch (Exception e) {}


Vous avez encore besoin d'aide ?
Contacter le support

Exécution de TestNG

Vous pouvez regarder notre tutoriel ou vous pouvez consulter notre documentation sur le rapport d'exécution :

TestNG est un framework qui a été créé pour exécuter des tests en Java, qui est la base des exécutions ATS produites par Agilitest.

En dehors du mode d'exécution / d'édition spécifique de l'éditeur Agilitest, nous avons développé un mode d'exécution compilé en Java qui est plus rapide et destiné à être utilisé pour un test ou un groupe de tests. dans un projet.

Comme nous allons le voir, les exécutions sont créées dans Agilitest, peuvent être exécutées par Agilitest, mais sont également exportables vers des environnements compatibles TesNG qui pourront rejouer les tests sans nécessiter de configurations complexes.

Pour créer un runtime TesNG dans Agilitest, allez au niveau de la bande du projet dans l'explorateur de projet et cliquez sur la roue dentée.

Activer le menu des exécutions

Gérer l'exécution des projets

Agilitest ouvrira un nouvel onglet avec plusieurs parties :

  • Le créateur de projet: Permet de configurer, générer, exécuter, et optionnellement produire les rapports correspondants et les ouvrir. Le fonctionnement du constructeur de projet est abordé à la fin de l'article.
  • Ligne de commande: Agilitest vous montre la ligne de commande que vous pouvez utiliser si vous voulez lancer l'exécution de ATS à partir d'une invite de commande sous Windows. Cette commande doit être lancé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: Il s'agit du menu de configuration des exécutions TestNG dont le fonctionnement est expliqué dans le paragraphe suivant.

Les exécutions

Une exécution correspond à la définition d'un sous-ensemble de tests d'un projet que vous pourrez rejouer en une seule fois.

Pour définir une exécution, cliquez sur le bouton "Ajouter" dans l'onglet exécutions.

Exécutions définies dans un projet

Ensuite, entrez le nom de l'exécution à créer, vous la verrez apparaître dans l'onglet exécution.

Un ensemble d'options vous permettra de définir la qualité des rapports produits lors du lancement de l'exécution.

Agilitest générera un fichier .exec correspondant dans le répertoire /src/exec.

Le répertoire des exécutions

Ce fichier est dans le standard TestNG et est un filtre sur tous les tests d'un projet, ainsi que des instructions pour exécuter la campagne de test correspondante.

Vous avez plusieurs options pour définir ce sous-ensemble de tests :

Ajouter des scripts à une exécution

Ajoutez des scripts directement dans l'onglet "Scripts": Déposez les fichiers ATS directement depuis votre explorateur de projet pour les voir sur votre onglet.

Sélectionner des forfaits

Indiquez quels sont les répertoires dans lesquels il faut récupérer les scripts, et ceux qui ne sont pas concernés.

Sélection du package api

L'onglet "Packages" présente tous les répertoires de votre projet et vous permet pour chaque répertoire de définir si les fichiers ATS qu'il contient doivent être inclus ou exclus de la sélection.

Il n'est pas nécessaire que les fichiers aient été ajoutés au préalable dans l'onglet script.

Sélection transversale par groupes

Les groupes de tests vous permettent de filtrer les tests en fonction des groupes auxquels ils sont associés.

Le menu groupe vous permet de définir de nouveaux groupes et de sélectionner des groupes à ajouter ou à exclure d'une exécution.


Gestion des groupes de test dans les exécutions

Paramètres d'exécution

Les paramètres d'exécution sont des variables que vous allez définir pour une exécution donnée et qui apparaîtront comme des variables d'environnement dans l'ensemble des tests qui sont affectés par cette exécution.

Ajout de variables d'environnement à une exécution
Utilisation de la variable d'environnement dans un script  

Les variables d'environnement vous permettront de gérer différents environnements d'exécution, qui utiliseront toutefois la même base de test.

Configuration des rapports

En cliquant sur le petit crayon qui apparaît dans l'aperçu des exécutions, vous pouvez sélectionner un certain nombre de paramètres pour gérer le niveau et la qualité des rapports que vous souhaitez produire.

Le crayon pour entrer la modification des paramètres

Voici les différentes options qui sont proposées :

Niveau des journaux

Les différents niveaux de journalisation sont les suivants :

  • Silencieux
  • Erreur
  • Info
  • Avertissement

Ils sont classés du moins bavard au plus bavard.

Rapport XML

Si vous décidez de produire un rapport XML, il peut être directement converti en pdf par Agilitest.

Rapport visuel

Indique la qualité des rapports vidéo ATSV que vous allez générer. Les différentes options sont :

  • Off : pas de génération de rapport
  • Taille : optimiser la taille des fichiers ATSV
  • Vitesse : optimiser la vitesse de génération des rapports
  • Qualité : optimiser la qualité des rapports générés
  • Qualité maximale : tout optimiser
Options de génération et de rapport de qualité

Commencer une exécution à Agilitest

Une fois que votre exécution est créée ou sélectionnée, vous pouvez effectuer les opérations suivantes dans le constructeur de projet :

Le constructeur du projet

Generate : génère les fichiers java correspondant aux tests ATS sélectionnés.

Compile: compile les fichiers java correspondant aux tests sélectionnés sur ATS (inclut la phase "generate").

Exécuter: Agilitest ouvrira une console et rejouera tous les tests sélectionnés dans l'exécution. (Inclut les phases "générer" et "compiler").

Il y a deux options possibles :

  • Ouvrir le rapport TestNG à la fin de l'exécution : ouvre le rapport produit par TestNG.
  • Générer le rapport pdf pour chaque test et ouvrir les rapports générés (ainsi que les tests rejoués).
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.

Pour y accéder, cliquez sur l'icône "Page" en haut à droite de la fenêtre d'édition de votre script.


Menu d'accès aux informations sur les scripts

Vous verrez alors apparaître un sous-menu dont l'activation modifiera l'affichage de votre éditeur en fonction des informations à afficher :


Sous-menu pour accéder aux informations sur les scripts

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

Vous accédez aux informations dans l'en-tête du script :

En-tête de script

Les éléments suivants sont affichés :

  • Auteur : la personne ou le groupe qui a effectué 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 des exigences, etc.
  • Prérequis: quels sont les liens avec d'autres fichiers, ou la disponibilité des environnements, etc.
  • Groupes: les groupes auxquels le test est affilié.

ATS code

Affichage du code brut ATS correspondant au test en cours d'édition.

Ce menu vous permet de copier le code du test pour l'envoyer par email à un correspondant qui pourra le rejouer.

Cet onglet ne permet pas de modifier directement le code ATS .

Copie du code ATS dans l'onglet ATS de l'éditeur

Lorsque vous recevez un email 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, notepad, etc ...
  • Déposez le code directement dans la fenêtre vide de l'éditeur Agilitest
  • Agilitest va lire le code et régénérer les actions correspondantes.
  • Puis cliquez sur Exécuter ...

Code Java

Affichage du code Java généré lors de l'exécution du test. Évidemment, les fichiers java qui correspondent aux fichiers ATS des tests ne peuvent pas être modifiés directement.

Affichage du code java

Fermer

Fermer le script. Cela permet de l'enregistrer 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://assets-global.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 regarder notre tutoriel ou vous pouvez consulter notre documentation sur l'outil de capture :

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.

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

ajouter une section d'éléments d'interface

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.

ajouter un élément "logo" bouton

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.

modifier les indices dans l'élément

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.

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 / boîtes combo

Vous pouvez regarder notre tutoriel ou vous pouvez consulter notre documentation sur les composants sélectionnés :

Agilitest native gère les composants SELECT en HTML et les combo boxes pour les applications de bureau. Ceci est nécessaire car ces composants ont une interface graphique et un comportement particulier : il s'agit de sélectionner une ou plusieurs valeurs dans une liste déroulante.

Un composant HTML SELECT

Il y a 3 options possibles pour sélectionner une valeur :

Options de sélection dans Agilitest

Sélection de l'indice

L'indice correspond à la position de la valeur souhaitée dans la 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, évidemment cet index ne doit pas dépasser le nombre de valeurs proposées -1 sinon aucun texte ne sera sélectionné.

Sélection par texte

Dans ce cas, le texte sera sélectionné s'il correspond à une option possible proposée par le SELECT.

Cela permet de s'assurer de la valeur utilisée, mais il faut encore la proposer.

Sélection des valeurs

L'attribut value est une valeur supplémentaire qui est fournie dans le code HTML et qui est liée au texte affiché. Cela 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é.

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

présentation de l'explorateur de projets
  • 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.
  • Sélection de la vue (4) : 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 (5): 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.

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

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...).
création d'un élément d'interface

  • Interface système: Cela permet de cibler un élément de la fenêtre système en le définissant. Le type "Bouton" apparaît par défaut.
spécification de l'interface du système

💡 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
  • Microsoft Edge
  • Internet Explorer
  • Opéra

En outre, nous assurons une compatibilité générique avec les navigateurs issus de Chromium, par exemple JXBrowser.

Créer un premier test

Pour commencer, vous devez ouvrir un canal sur le navigateur web de votre choix. Par défaut Agilitest trouvera l'installation des principaux navigateurs du marché, à l'exception d'Opera qui nécessitera une petite configuration supplémentaire.

En cliquant sur le bouton "Démarrer le canal", vous pourrez sélectionner le navigateur qui vous intéresse.

Vous pouvez ensuite ouvrir immédiatement le site canal en cliquant sur le bouton "Play" qui apparaît à droite de l'action : l 'ouverture du site canal lancera le navigateur.

L'action suivante "Navigation -> Browser URL" vous permet de spécifierà quelle URL se trouve votre application, il peut s'agir d'un lien local ou d'un lien Internet.

Entrez une URL

Après avoir spécifié votre URL, il suffit de lancer directement l'action pour que votre navigateur se positionne sur la page souhaitée.

A 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 le même test sur plusieurs navigateurs ?

Une fois votre premier test effectué, vous pouvez très facilement le lancer sur plusieurs navigateurs, pour cela faites les opérations suivantes :

Créez un fichier CSV d'une seule colonne et remplissez les navigateurs qui vous intéressent. Pour ce faire, il suffit de cliquer sur "Nouveau composant" et sur le fichier csv.

Navigateurs Ficher.csv

Nous allons ensuite itérer sur les valeurs du fichier CSV en effectuant un appel à sous-script .

  • Créez un nouveau script
  • Déposez votre script principal depuis l'explorateur de projet dans la fenêtre d'édition, cela créera 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.
Appel itératif du script principal en itérant sur les différents navigateurs

Il suffit de modifier légèrement votre script initial, afin de faire varier le nom du navigateur : cliquez sur la section App de l'action "démarrer un canal", et remplacez le nom du navigateur, mis en dur, par la variable $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é.

Variez le nom du navigateur

Dans Agilitest, vous pouvez utiliser des variables à plusieurs endroits afin d'augmenter la réutilisation des scripts et des fichiers, vous aurez plus d'informations en consultant notre documentation sur les tests pilotés par les données.


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://assets-global.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://assets-global.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

ActionTestScript, diminutif de ATS est un langage de test structuré, lisible et compréhensible par un être humain et facilement modifiable par une I.A. utilisé pour créer des campagnes de test automatisées fiables et puissantes avec une interface graphique.

ATS est un logiciel libre sous la licence Apache 2.0.

Les scripts de test sont définis par une séquence d'"actions" exécutées sur une application Web (Chrome, Edge, Internet Explorer 11, Firefox et Opera), un ordinateur de bureau (Desktop), un mobile ou 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 :

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

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

ATS est maintenu par Pierre HUBER, fondateur de CAIPTURE, éditeur d'Agilitest. Plus d'informations en suivant le lien :

www.actiontestscript.com

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

Actions spéciales

Dans vos tests fonctionnels sur des terminaux mobiles, vous aurez parfois besoin d'automatiser des actions atypiques liées notamment à l'OS.

Pour cela, nous avons intégré les fonctions natives suivantes :

  • Retour: Retour sur la dernière action
  • Accueil: Affiche le "bureau" du terminal mobile
  • Menu: Accès aux fonctions du bureau du terminal mobile
  • Recherche: Lance une recherche google sur le terminal mobile.
  • Supprimer: supprimer le dernier caractère saisi
  • App: Affiche la liste des applications récemment lancées sur le terminal mobile.

Pour ajouter ces actions, procédez comme suit :

  • Sélectionnez "Application root".
  • Sélectionnez "Bouton système".
  • Sélectionnez la bonne action système pour votre test

Détails des actions disponibles

Retour

Cette action correspond à l'utilisation du bouton physique généralement présent sur les terminaux Android.

Il est particulièrement utile pour réduire le clavier virtuel qui se déploie parfois automatiquement sans qu'il soit nécessaire de cliquer sur un bouton particulier.

Entrez

Cette action correspond à l'utilisation du bouton physique "Entrer" sur les terminaux.

Accueil

Cette action correspond à l'utilisation du bouton physique généralement présent sur les terminaux Android.

Réduit toutes les applications en cours pour atteindre rapidement le "bureau" du terminal mobile.

Menu

Cette action correspond à l'utilisation du bouton physique généralement présent sur les terminaux Android.

Il est particulièrement utile pour accéder aux options de configuration du "bureau" du terminal mobile.

Action effective uniquement depuis le système d'exploitation (sans effet sur une application).

Recherche

Cette action correspond à l'utilisation de la fonction "recherche" généralement proposée sur les terminaux Android.

Action effective uniquement depuis le système d'exploitation (sans effet sur une application).

Supprimer

Cette action vous permet de supprimer le dernier caractère saisi dans l'élément en cours de sélection.

Cette action ne détecte aucun élément sur l'application.

App

Affiche la liste des applications récemment lancées sur le terminal mobile.

Cette action peut être utile pour effectuer un passage rapide sur une application native du terminal mobile et revenir à l'application testée.

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.