Catégories

scripting SAP

VBscript

SAP recorder dans SAP

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

Pour lancer la capture directement dans SAP, allez dans les options du menu déroulant : Plus > Options et actions de l'interface graphique SAP > Script d'enregistrement et de lecture

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 regarder 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 à nous :

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

Pour ce faire,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

SAP recorder

SAP Recorder avec Agilitest

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

Une fois le canal SAP lancé, vous pouvez activer l'enregistreur.

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

bouton d'enregistrement, rouge

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

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

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

🔸 Avertissement

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

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

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

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

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

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

bouton d'enregistrement, vert

Vous avez encore besoin d'aide ?
Contacter le support

Automatisation des composants spécifiques à SAP

Automatisation des composants spécifiques à 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 la fenêtre.

Action sur la fenêtre

Passez ensuite à la fenêtre ayant l'indice 1 (la fenêtre principale a l'indice 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 Locatorqui 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 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"rangée"

Éléments du tableau

Faire glisser l'élément dans une action

Cliquez sur l'action

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 d'occurrences".

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.

action sous-script

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)

paramètres d'exécution du sous-script

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

paramètres du code ats

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"Rangée".

Branche de la rangée d'arbres

Vous avez encore besoin d'aide ?
Contacter le support

Aperçu des interfaces utilisateur 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. Étant donné que 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 le cadre de votre processus d'QA afin de s'assurer que tous ces processus fournissent en permanence 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.

Vous avez encore besoin d'aide ?
Contacter le support

Connexion à un serveur SAP

Comment se connecter à un serveur SAP ?

▶️ Vous pouvez trouver un tutoriel sur la façon de se connecter à un serveur SAP sur notre canal 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 le canal".

Démarrer l'action sur les canal

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

menu des raccourcis de l'application

Saisir les coordonnées du serveur SAP, présentes dans le log on 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 introduire 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 driver prend en charge la fenêtre SAP ouverte sur la page d'accueil SAP.

🔸 Avertissement

":" est également un séparateur possible dans la chaîne de connexion à un canal SAP.

Exemple : nom_de_connexion:numéro_de_client:langue

Session enregistrée dans les propriétés de l'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 du 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 de l'ATS .

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

Bouton de réglage

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

Bouton de modification de la configuration

La page des propriétés de ATS s'ouvre et vous permet de configurer différents éléments.

propriétés de ats

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 codeATS de votre script avec une connexion SAP.

Pour y accéder, ouvrez votre script et cliquez sur le bouton "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 renseigner les informations de connexion dans les propriétés, récupérer le code chaîne de caractère data correspondant à la connexion au serveur SAP à partir de l'action "démarrer un canal".

code ats info

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

propriétés de ats

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

Vous avez encore besoin d'aide ?
Contacter le support

Activer l'automatisation SAP

Activation de l'automatisation SAP

Il y a deux choses à faire pour activer les scripts, d'abord du côté du serveur et ensuite du côté du client.

Côté serveur dans SAP

Transaction RZ11 :

Entrez dans le champ "sapgui/user_scripting".

Cliquez sur "Affichage".

Lorsque l'écran suivant apparaît, cliquez sur "Modif. Val."

Saisissez ensuite "VRAI" pour activer le script.

Normalement, cette opération ne nécessite pas le redémarrage de l'instance.

Enfin, cliquez sur le bouton "Enregistrer".

Côté client, sur SAPGUI

Cette configuration est nécessaire pour éviter les popups à chaque lancement.

Cliquez sur le bouton "Options"dans le menu

Ensuite, dans "Prise en charge des scripts", cochez "Activer le support des scripts".

Vous avez encore besoin d'aide ?
Contacter le support

Podman

Installation de Podman Desktop

Lien d'installation de Podman Desktop : https://podman-desktop.io/downloads/windows

Une fois le fichier téléchargé, double-cliquez dessus pour ouvrir le panneau d'installation.

Sélectionnez Podman à utiliser avec Agilitest. Vous pouvez ajouter d'autres extensions pour répondre à vos propres besoins.

Sélectionner Sous-système Windows Linux (WSLv2)qui est l'installation recommandée par Agilitest.

L'installation commence alors. Elle peut durer plusieurs minutes.

Bureau Podman

Vous pouvez maintenant créer une machine Podman à partir de Podman Desktop.

Cliquez sur le bouton "suivant".

Activer le "Mise en réseau en mode utilisateur"si ce n'est pas le cas

Cliquez sur "Créer"

Une fois qu'il est créé, vérifiez que le statut est "en cours"

Podman est installé

Podman et Agilitest

Redémarrer Agilitest.

Cliquez sur le conteneur en haut à droite de l'éditeur pour ouvrir la fenêtre des conteneurs Agilitest. Conteneurs Agilitest de contrôle des conteneurs

Une première image doit être chargée, ce qui peut prendre un peu de temps.

Cliquer sur démarrer un conteneur

Une fois le conteneur lancé, cliquez sur l'icône de la loupe pour ouvrir le conteneur dans un navigateur.

Dans ce conteneur, il y a :

A droite :

  • Version de la distribution Linux ( LTS avec Agilitest)
  • Projet ATS : nom et version d'un projet
  • ID du conteneur (différent pour chaque conteneur lancé)
  • Trajectoire du projet
  • Chemin de sortie : Ouvre le référentiel dans lequel les rapports sont générés.

A gauche, les icônes :

  • 5 navigateurs distribués à l'image du conteneur maintenu par Agilitest
  • Projet Agilitest : Ouvre un répertoire du projet et du chemin d'accès au projet.
  • Sortie ATS : Ouvre le référentiel du conteneur
  • Accueil : Racine du système VM
  • Terminal

Exécuter un test avec Podman

Dans l'explorateur de projets d'Agilitest,

Faire un clic droit sur un script > Exécuter un script> Exécuter dans un conteneur

À la fin de chaque exécution, un rapport est généré.

Toutes les informations relatives à l'exécution sont également disponibles dans la sortie ATS du conteneur.

Exécuter une Playlist

Vous pouvez également exécuter des sélections dans un conteneur.

Pour ce faire, allez dans le menu de gestion des exécutions,

Cliquez sur le menu du conteneur,

Sélectionnez les listes de lecture que vous souhaitez exécuter et sélectionnez le conteneur pour lancer l'exécution.

Machine Podman Podman et Agilitest

Images des conteneurs

Lorsque vous créez un conteneur à partir d'Agilitest, vous trouverez l'image correspondante dans le bureau de Podman.

Vous pouvez également faire fonctionner plusieurs conteneurs.

Lorsqu'un test est déjà en cours d'exécution dans un conteneur, vous pouvez l'exécuter dans un autre conteneur disponible ou en créer un nouveau.

🔸 Avertissement

Vous devez répartir les exécutions en fonction des besoins. Plus vous exécutez de conteneurs et de tests, plus les ressources de la machine sont utilisées

Machines de commutation

Dans la fenêtre de gestion des conteneurs, vous pouvez sélectionner votre outil de conteneur.

Si Podman est installé et fonctionne sur votre machine, l'outil sera automatiquement vérifié.

Si vous souhaitez passer à Docker, c'est possible.

Pour ce faire, vous devez arrêter l'exécution de Podman Desktop.

Cochez ensuite Docker dans l'option Agilitest de la gestion des conteneurs.

Agilitest ouvrira automatiquement l'option cochée.

Il en va de même pour Docker.

Si Docker est coché et que vous souhaitez passer à Podman, vous devrez d'abord quitter Docker depuis le bureau Docker.

Vous pouvez ensuite vérifier Podman, qui sera lancé lorsque vous créerez un conteneur.

Vous avez encore besoin d'aide ?
Contacter le support

Agilitest Enterprise

Agilitest Enterprise vous permet de synchroniser vos scripts avec votre équipe.

En se connectant à un serveur, les scripts de vos projets communs peuvent être synchronisés avec le reste de votre équipe. Vous pourrez voir les modifications, les ajouts et les suppressions en temps réel.

Cette fonction est conçue pour améliorer le travail collaboratif et le rendre plus efficace.

Il fonctionne aussi bien sous Windows que sous Linux.

Installer un serveur

Dans le menu "Aide" d'Agilitest,

Cliquez sur télécharger "Agilitest Enterprise server".

Le fichier est au format .tgz

Vous devrez extraire les fichiers zippés dans un répertoire de votre choix.

Si vous êtes sous Linux :

Exécutez la commande : red5.sh

Si vous êtes sous Windows :

Exécuter la commande : red5.bat

Le serveur Agilitest Enterprise est disponible sur votre réseau, en fonction de l'adresse IP de la machine sur laquelle il est installé.

🔸 Avertissement

Veillez à ouvrir le port 1935 pour que toutes les machines puissent s'y connecter.

Se connecter à un serveur

La connexion à un serveur peut se faire dans les paramètres d'Agilitest

les paramètres les plus agiles

Entrez l'IP de la machine sur laquelle le serveur est installé.

l'entreprise la plus agile dans le domaine de l'environnement

Verrouiller un script

La fonction de verrouillage du script vous permet d'empêcher d'autres utilisateurs d'utiliser le script, et vice versa.

Il existe deux façons de verrouiller un script :

  1. Avec la fonction de verrouillage automatique

Vous pouvez vérifier l'option de verrouillage automatique dans la configuration du serveur.

Dès que vous modifiez un script, il est automatiquement verrouillé. Il se déverrouillera automatiquement lorsque vous enregistrerez le script.

         2. Avec une serrure manuelle

  • Dans l'explorateur de projet

Cliquez avec le bouton droit de la souris sur un script, puis cliquez sur "Verrouiller" ou "Déverrouiller".

  • Directement à partir d'un script

En haut de votre script, sous l'onglet, vous pouvez cliquer sur le bouton verrouiller/déverrouiller.

Vous avez un script verrouillé

Voici un script qui est verrouillé :

script verrouillé

Vous pouvez ensuite apporter toutes les modifications que vous souhaitez à votre script : ajouter des actions, modifier des éléments, renommer, etc...

Une fois les modifications effectuées, vous pouvez enregistrer le script et tous les autres utilisateurs recevront une notification indiquant que le script a été modifié.

Vous souhaitez déverrouiller un script qui a été verrouillé par un autre utilisateur

Les actions sont grisées car vous ne pourrez pas les modifier. Vous ne pourrez qu'exécuter le script.

Tant qu'un script est verrouillé, vous ne pourrez pas voir les modifications apportées par l'utilisateur qui l'a verrouillé.

Toutefois, si vous souhaitez utiliser ce script, vous pouvez demander à l'utilisateur qui l'a verrouillé de le déverrouiller.

En cochant l'option "demande de déverrouillage" dans la configuration du serveur, vous pouvez choisir d'envoyer une notification à l'utilisateur qui a verrouillé le script.

Si vous n'avez pas coché cette option, lorsque vous cliquez sur le cadenas d'un script verrouillé, l'autre utilisateur recevra automatiquement une notification contenant une demande de déverrouillage de votre part.

L'autre utilisateur peut choisir de déverrouiller le script ou non.

En cliquant sur "Oui", le script sera automatiquement déverrouillé et donc disponible pour tous.

Messages internes

Une fois que vous êtes connecté à un serveur, un nouvel onglet apparaît en bas à gauche de l'éditeur Agilitest.

Cet onglet répertorie les autres utilisateurs connectés au serveur.

messagerie interne

Cet onglet vous permet d'envoyer un message personnalisé à d'autres utilisateurs.

Lorsque vous envoyez un message à un autre utilisateur, celui-ci reçoit une notification directement dans son interface Agilitest.

Vous pouvez également consulter les scripts verrouillés directement à partir du profil de chaque utilisateur.

Plusieurs types de notifications peuvent apparaître lorsque vous êtes connecté au serveur avec d'autres utilisateurs :

  • Lorsqu'un utilisateur se connecte ou se déconnecte
  • La création, la modification, le changement de nom ou la suppression d'un élément
  • Lorsqu'un utilisateur verrouille ou déverrouille un script

Les notifications disparaissent au bout de quelques secondes, à moins que vous ne cliquiez dessus, auquel cas elles continueront d'apparaître.

Vous avez encore besoin d'aide ?
Contacter le support

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 une maintenance simplifiée.

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

action sous-script

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

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

🔸 Avertissement

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 d'usage 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 codeats 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.

nouveau bouton de 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 du 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, toute erreur de syntaxe sera mise 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.

🔸 Avertissement

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 permettant 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 dans ATS sont convertis en classes Java, puis exécutés à l'aide des frameworks Selenium et TestNG.

Avec l'ATS, les concepteurs de tests se concentrent uniquement sur les actions fonctionnelles à réaliser et n'ont pas à se préoccuper 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.

Vous devrez autoriser le téléchargement des adresses des images, les principales adresses fournies par Agilitest étant les suivantes :

docker.io/agilitest/linux-desktop

docker.io/actiontestscript/linux

docker.io/actiontestscript/windows

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.

Images ATS

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.

Prérequis :

  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

🔸 Avertissement

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

Exécutions Docker avec Agilitest

Quels sont les avantages de lancer une exécution avec Docker, de Agilitest :

  • Parallélisation des exécutions

Plusieurs tests peuvent être exécutés simultanément.

  • Exécutions en arrière-plan

Les tests ne perturbent pas votre système, puisqu'ils s'exécutent en arrière-plan. En général, lorsqu'un test est exécuté directement depuis Agilitest, la machine est monopolisée par son exécution. Ce n'est pas le cas avec une exécution Docker.

  • Affichage des exécutions

Il est déjà possible de copier une ligne de commande Docker depuis le panneau de commande d'exécution. Cette opération s'exécute en mode headless. Cependant, avec une exécution Docker, vous serez en mesure de voir la progression de vos exécutions en cours.

Prérequis: Télécharger et installer Docker Desktop

Vous trouverez un lien de téléchargement dans le menu outils de l'éditeur Agilitest.

Agilitest fournit des images Docker. Elles sont liées à Agilitest et ATS.

Vous ne pourrez pas les générer en tant qu'utilisateur, à partir de l'éditeur.

En haut à droite de l'éditeur se trouve un bouton Docker.

Cliquez dessus pour accéder aux images et aux conteneurs Docker.

Dans ce panneau, vous trouverez des images Docker, ainsi que des conteneurs en cours d'exécution.

Pour faire la différence entre les images et les conteneurs :

Une image = Une exécution qui doit avoir lieu, une prévision.

Un conteneur = une exécution en cours (virtuelle et sauvegardable).

Pour créer un conteneur, cliquez sur "Nouveau conteneur"

Vous pouvez décider d'exécuter un ou plusieurs conteneurs.

Les exécutions de conteneurs sont stockées dans la mémoire de la machine. Si la machine est arrêtée, l'exécution reprendra au démarrage.

Tous les conteneurs ont été activés par Agilitest,

est également disponible sur l'interface de Docker Desktop.

Vous pouvez arrêter un conteneur en cliquant sur le bouton à droite.

En cliquant sur la loupe d'un conteneur, l'exécution s'affiche dans un navigateur avec un système linux en cours d'exécution.

À partir de ce système, vous pouvez exécuter des commandes dans le terminal.

Exécuter un test avec Docker

À partir d'un script, cliquez avec le bouton droit de la souris > Exécuter le script > Exécuter Docker

La même fenêtre de conteneur s'affiche, avec un bouton "Play" supplémentaire.

Cliquez sur pour exécuter le test dans le conteneur choisi.

Vous pouvez exécuter d'autres tests en parallèle sur d'autres conteneurs.

Un rapport s'ouvre lorsque l'exécution des tests est terminée.

Exécuter une Playlist avec Docker

Vous pouvez également exécuter une ou plusieurs listes de lecture sur un conteneur.

Dans le menu de gestion des exécutions, sélectionnez une ou plusieurs listes de lecture.

Cliquez ensuite sur le bouton Docker

Enfin, sélectionnez le conteneur dans lequel les listes de lecture sélectionnées seront exécutées.

🔸 Avertissement

Vous devez répartir les exécutions en fonction des besoins. Plus vous exécutez de conteneurs et de tests, plus vous utilisez de ressources machine.

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 autonome d'Agilitest, vous devez suivre les étapes suivantes :

  1. Pour 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, allez à l'URL : api-agilitest.com/devices/login.php

Saisissez votre identifiant et un mot de passe vous sera envoyé à votre adresse e-mail.

         2. Connecter

Aller à 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 l'application autonome :

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

🔸 Avertissement

Veuillez noter que vous allez télécharger une version personnalisée de l'éditeur Agilitest avec votre identifiant de compte Agilitest, donc ne distribuez pas 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 autonome

Vous pouvez également personnaliser les versions de vos pilotes Web sur votre version autonome.

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 le site Agilitest "Aide"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 le matériel connexe.

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

▶️ Vous pouvez également regarder notre tutoriel sur comment exécuter des indices sur notre canal Youtube.

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

L'utilisation d'indices 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 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.

dossier sous-script

Votre 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 dont les actions ont été extraites si vous cochez la case "Insérer une action sous-script ".

insérer une action sous-script

Ouvrir un sous-script

Il existe différentes façons d'ouvrir les indices, même si elles 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 un 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 que le sous-script a fini de s'exécuter 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. simplement exécuter le sous-scriptil 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îtra sur la ligne d'action d'appel 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 des 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 à la 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 relatives au 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 d'ATS en référençant la bibliothèque ATS que vous souhaitez.

🔸 Avertissement

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

Apache Maven

apache maven

Vous pouvez générer votre projet dans pom.xml ou l'empaqueter dans .jar.

Vous pouvez également empaqueter le projet directement à partir de l'explorateur de projet.

Mots de passe du projet

Ce qu'il faut savoir sur les mots de passe dans Agilitest :

  • 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 .
  • Ils ne sont pas visibles dans les rapports et les fichiers ATSV.
  • Ils ne sont pas visibles dans les journaux générés par Agilitest et ATS.

Les mots de passe ne sont pas utilisés partout volontairement, pour des raisons de sécurité. Il est possible de les utiliser dans la saisie de texte et de saisir un mot de passe pour démarrer une session SAP ou une authentification API.

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

Vous pouvez utiliser une variable d'environnement comme clé de récupération du mot de passe.

Dans les valeurs spéciales, sélectionnez la valeur "password", puis entrez une variable d'environnement.

variable d'environnement utilisée dans la valeur du mot de passe

Comment gérer les mots de passe cryptés

Les mots de passe peuvent également être gérés à l'aide du raccourci des touches spéciales lors de la saisie de texte.

mots de passe dans le menu des valeurs spéciales

La valeur peut ensuite être récupérée dans l'ATS comme une variable normale à l'aide du mot-clé $pass(variable).

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 classés dans des groupes nommés afin de personnaliser l'organisation. Cela vous permet d'inclure ou d'exclure des groupes de scripts d'une exécution.

Aujourd'hui, les groupes ne 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 filtrage. 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 la maintenance de ces groupes peuvent être effectuées dans la page"Gestion des groupes" d'un projet.

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
  • Supprimer les scripts
  • Modifier l'étiquette (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

Une fenêtre contextuelle de création de groupe s'ouvre alors

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 "..." en cliquant sur le bouton "...".

bouton dupliquer le groupe

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

duplicate group popup

Étiquette du groupe

Chaque groupe dispose d'une étiquette caractérisée 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 la balise d'un groupe à tout moment à partir de la fenêtre de gestion des groupes.

Pour ce faire, cliquez sur "Modifier la balise 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 excluant, c'est-à-dire en n'exécutant pas, 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.

De 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 de sélectionner, d'ajouter et de supprimer des filtres.

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

Ceci est également représenté visuellement par les scripts non exécutés en gris.

Exemple :

Vous avez un groupe composé de scripts :

Vous souhaitez filtrer une Playlist avec ce groupe,

Ensuite, les scripts sont grisés, que le groupe soit inclus ou exclu de l'exécution.

Ici, la Playlist est filtrée pour ne pas exécuter le groupe "Validate", de sorte que les deux autres scripts qui n'appartiennent pas à ce groupe sont grisés.

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

📙 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 système ici : https://youtu.be/L3PmZmDdaGg)

Dans les propriétés d'unscript

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 supprimer un script dans les groupes existants

Pour ce faire, cliquez avec le bouton droit de la souris sur un script ATS, 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 la 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 des outils d'Agilites 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 des rapports de tests au format pdf disponibles à 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 d'ATS avec Maven. Il est réservé à un usage expert pour ceux qui souhaitent utiliser une version spécifique d'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 bibliothèque 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. Cela 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 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

Généralités sur 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 de maintenir 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 sap
SAP est un outil indépendant d'Agilitest. Pour établir une connexion avec cet outil, un driver système est utilisé pour envoyer les éléments au driver SAP. Une fois la liaison établie, une connexion au serveur SAP sera réalisée via le protocole SAP GUI.
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, on peut citer

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 du 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 trouverez les variables d'environnement dans la boîte 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, elles 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ètres du script

paramètre du 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 passés dans l'action d'appel du 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

Fichier des actifs

Fichier des actifs

Le fichier assets correspond au chemin d'accès de tous les fichiers qui se trouvent dans le fichier assets (Exemple: données, ressources, etc...). Il 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 trouverez les mêmes informations sur le fichier des immobilisations dans le menu des valeurs spéciales.

valeurs du fichier des actifs

Mots de passe

Mots de passe

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

Ils se trouvent 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.

mots de passe valeurs

valeurs du canal

valeurs du 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 de récupérer la valeur du "Nom de l'application" dans les valeurs spéciales,

valeurs du canal dans les valeurs spéciales

Le nom de l'application ouverte par le canal apparaît alors.

🔸 Avertissement

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

le canal n'a pas démarré

Valeurs du script ATS

ATS script vaues

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

ats script values in special values

Valeurs calculées

valeurs calculées

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

Ces valeurs sont les suivantes : Now, Today, Unique ID, Random chaîne de caractère, Current iteration, Iterations count

valeurs calculées dans les valeurs spéciales

La variable de caractère aléatoire peut prendre différentes formes, en fonction des données introduites.

Vous pouvez définir le nombre de caractères que vous souhaitez voir apparaître et la manière dont ils sont présentés dans la variable.

Exemples de formes de rnd_string :

$rnd(10) ; $rnd(5) = La valeur introduite indiquera le nombre de caractères à faire apparaître

$rnd(10,upp) = Les caractères n'apparaîtront qu'en majuscules

$rnd(10,low) = Les caractères n'apparaîtront qu'en minuscules

$rnd(10,num) = Les caractères n'apparaîtront que sous forme numérique

$rnd(10,111111222223) = La probabilité sera plus forte sur les caractères multiples. En probabilité, la chaîne de caractère affichera plus de caractères qui sont nombreux que de caractères qui n'apparaissent qu'une seule fois

Variable de propriété

Il est possible de créer des fichiers de données .properties, qui sont composés de variables de propriété.

Vous pouvez créer un fichier .properties à partir de l'explorateur de projet, dans le menu des fichiers de données,

Le fichier de propriétés ressemble à un fichier de données avec une colonne "clé" et une colonne "valeur".

fichier de propriétés

Exemple :

Clé : canal

Valeur : Chrome

Vous pouvez également importer des fichiers .properties depuis votre propre ordinateur.

Vous pouvez trier les valeurs par ordre alphabétique en utilisant les petites flèches dans les colonnes.

Vous pouvez trouver la variable de propriété, $prop, dans tous les champs avec un menu en forme de hamburger.

Dans une action, ajoutez une valeur spéciale et sélectionnez "variable de propriété".

fichier de propriétés dans les valeurs spéciales

Sélectionnez le fichier de propriétés et la clé avec la valeur

clé du fichier de propriétés

Cela permet d'extraire la valeur de votre fichier de propriétés.

Variable $env avec la variable de propriété

Les variables d'environnement définies par le type de playlist peuvent être utilisées conjointement avec la variable de propriété.

Cette action permet de passer rapidement d'une valeur à l'autre dans tous les champs comportant un $env.

Dans une action, sélectionnez une variable de propriété dans le menu des valeurs spéciales.

Ensuite, remplacez le champ de la clé de propriété par une variable d'environnement ($env).

Exemple :

Si vous créez une variable d'environnement :

Navigateur Web = url1

Et une variable de propriété :

canal = Chrome

Ensuite, vous pouvez modifier le champ "canal" avec $env(Webbrowser) pour récupérer la valeur "url1"

Si vous souhaitez modifier la valeur de cette variable, vous pouvez la changer à partir du menu des variables d'environnement afin qu'elle s'applique à l'ensemble du projet.

variables d'exécution

Vous avez encore besoin d'aide ?
Contacter le support

Station mobile ATS

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

Liens de téléchargement :

MacOS : https://actiontestscript.org/mobile.php?dl=macos

Windows : https://actiontestscript.org/mobile.php?dl=windows

Vous pouvez également trouver ces liens actualisés dans le menu "Aide" d'Agilitest.

Configurer un serveur de station mobile

Comment configurer une MobileStation pour qu'Agilitest discute directement avec la MobileStation ?

Retrouvez une vidéo montrant les étapes de connexion d'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
Paramètres d'agilité

Dans la caseATS Serveur de la station mobileATS ", vous pouvez ajouter un serveur que vous connecterez à Agilitest en cliquant sur l'icône "Ajouteren cliquant sur le bouton "Ajouter".

Boîte de serveur de la station mobile ATS dans les paramètres
Boîtier serveur de la station mobile ATS

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.

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

Presse la touche "Entrer"pour confirmer votre sélection et le serveur apparaîtra sur une nouvelle ligne dans l'encart de la station mobile.

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

Informations sur le serveur

Connecter Agilitest à un mobile

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

Une fois le serveur Mobile Station configuré, ouvrir un nouveau canal.

Démarrage de la ligne d'action des canal à Ailitest

Sélectionnez ensuite "Application mobile"dans le choix des applications (icône de téléphone en haut à droite)

Bouton de sélection de l'application mobile

Agilitest ouvrira une fenêtre contextuelle pour entrer l'adresse IP et le port du téléphone. Vous pouvez les saisir manuellement ou sélectionner un serveur connecté à Mobile Station, comme celui illustré ci-dessus.

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

Explorateur mobile

Cliquez sur le lien "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 sur le téléphone ainsi qu'un ensemble d'informations accompagnées d'un visuel d'un téléphone qui n'est pas nécessairement représentatif de son apparence réelle mais qui est destiné à différencier un Android d'un iOS.

Dans la liste des applications présentes sur le téléphone, sélectionnez celle que vous souhaitez 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 l'action canal ouvrir une application mobile

Conditions requises pour connecter un ordinateur Android

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

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

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

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

menu d'aide

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

liens de téléchargement

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

Utilisation unique de la station mobile

Du côté de la 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 utilisant Agilitest sur un autre ordinateur veut 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 votre script.

Exécution de la station mobile

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 y a 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 avec la station mobile :

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.

Premièrement, ouvrir un canal,

action de démarrage du canal

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

L'application de calculatrice s'est ouverte avec l'action du canal démarrage

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

Ensuite, il faut appuyez sur la touche CTRL pour ouvrir la fenêtre parent de l'élément capturé et de ses attributs.

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

Avec la capture 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éciaux dans la station mobile

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

  • "Bouton "Accueil

Il apparaît au centre de la partie inférieure du visuel du téléphone. Il fait office 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 s'affiche.

Bouton d'accueil de l'appareil

  • "Bouton "Rafraîchir

Il apparaît en haut du visuel du téléphone. Ce bouton permet de réinitialiser la capture en cas de problème. Il est utilisé pour renforcer la mise à jour.

Bouton de rafraîchissement sur l'appareil

Sauvegarde des paramètres

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

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

bouton de réglage

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

bouton d'édition de la configuration

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

Exemple :

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

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

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

exemple

Station mobile et intégration continue

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

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

L'application est envoyée à la station mobile à l'aide d'une interface de programmation (Rest API). 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
l'IC du testeur lance l'IC du développeur

Grâce à l'intégration continue, le concepteur de tests déclenche l'intégration continue du développeur d'applications qui génère 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'application lance l'intégration continue du testeur

L'IC du développeur lance l'IC du testeur

L'intégration continue du développeur d'applications génère 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 à partir du code source, ce qui permettra l'exécution des tests à partir de la station mobile. (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. Grâce à l'intégration continue, le développeur d'applications installera son application sur ses appareils via la station mobile. Avec l'intégration continue du concepteur de tests, l'application installée sur la Mobile Station et 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 de 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 des 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 validation des fichiers. Il s'agit de Sourcetree.
Dans le cadre de cet article, le logiciel Sourcetree 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 les jetons API qui sont créés sur le back office Bitbucket dans Paramètres personnels > Mots de passe de l'app > Créer des mots de passe de l'app.
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 dépôt.

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 Bitbucket ou depuis le logiciel Sourcetree en mode connecté.

Création d'un référentiel vide  

Depuis le logiciel, allez dans l'onglet Local, cliquez sur le bouton Créer.
Saisir le chemin d'un dossier vide qui contiendra 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 dépôt (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 mode local, sans Git, Agilitest permet de créer de nouveaux projets. Ces projets sont alimentés automatiquement avec une arborescence par défaut qui comprend libs, src, target, etc.  

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

Une autre méthode consiste à créer d'abord le projet Agilitest, à déplacer son contenu ailleurs, à initialiser le dépôt Git, à y remettre son contenu, puis à Stage and 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, rendez-vous à l'adresse suivante Sourcetree : Unstaged files > Stage allpuis cliquez sur le bouton Commit en bas à droite. Attention à ne pas confondre avec le bouton Commit en haut à gauche.

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

Le projet est ainsi "snapshoté" 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 celle de la fréquence des commits. Pour répondre à cette question, examinons la notion de commits atomiques, qu'il est conseillé de respecter :  

  • Un commit ne concerne qu'une seule tâche : la maintenanceun test, l'é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 engagement 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 fichiersats .  
  • Le travail collaboratif entre plusieurs profils d'automatisation sur un même projet, et notamment la notion de Fusion.  
  • Synchronisation des dossiers du projet entre le dépôt 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 travail (#1, #2 etc.), plutôt que par le versionnage 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 provenant 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 provenant d'un dépôt Git comme source de projet Agilitest pour exécuter des tâches Jenkins. A chaque build, Jenkins va d'abord effectuer le clonage du dépôt Git, puis exécuter les scripts ATS configurés dans la suite de tests, et enfin générer les rapports éventuels.  

Préparation du projet Agilitest  

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

Ensuite, le projet Agilitest (ici, repository-test) a vécu au fil des commits, avec l'accumulation de scripts ATS , 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 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 tests souhaitée dans la zone "Liste des suites".

Figure 2 : Création d'un nouveau job Jenkins à partir d'Agilitest avec un projet initié avec Git

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

Avant de lancer le build, il est essentiel de préparer le projet Agilitest à supporter les opérations de Push et de Fetch qui seront effectuées respectivement par le client Git et le serveur Jenkins. L'opération par défaut de Git est de ne pas synchroniser les dossiers vides, pourtant certains d'entre eux sont essentiels à Agilitest. Une solution 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.

  • .ats.gitkeep
  • ./target/classes/assets/resources/lang/.gitkeep
  • ./target/classes/assets/resources/certs/.gitkeep
  • ./target/classes/assets/resources/images/.gitkeep
  • ./target/classes/assets/data/.gitkeep
  • ./target/report/.gitkeep
  • ./libs/.gitkeep
  • ./src/main/java/.gitkeep
  • ./src/main/scripts/.gitkeep
  • .ats.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 plugin plugin Git. Ensuite, l'exécutable git.exe doit être configuré dans l'interface Jenkins Manage Jenkins > Global Tool Configuration > Git > Path to Git executable. Dans ce cas, nous avons défini C:\NProgram Files\NGit\Nbin\Ngit.exe.

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

Voyons à quoi ressemble le job Jenkins nouvellement créé dans le projet de référentiel de test depuis le back-office web.

Figure 4 : Configuration d'un travail à partir du back-office 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, de sorte que 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 de l'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 Clonage du dépôt Git orchestré par Jenkins dans la sortie standard(icôneConsole Output). 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"
[…]

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

Au travers de cet article et de ses pré-requis, nous avons utilisé Git pour relier les postes de travail des ingénieurs en automatisation de 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 présenterons une méthode étape par étape pour exécuter des tests Agilitest massifs.

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

Le contexte mondial  

Le serveur Windows  

Pour les besoins 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 sont effectuées 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 à partir de la session Administrateur dans C:\NProgram Files (x86\NAgilitest. Cette installation est globale pour tous les utilisateurs, et chacun trouvera un raccourci Agilitest sur son bureau.
En revanche, les dépendances et les fichiers de configuration sont spécifiques à chaque utilisateur dans les deux dossiers ci-dessous :  

  • C:\NUsers\NAdministrateur\NActionTestscript  
  • C:\Users\Administrator\.agilitest

Les mêmes dossiers seront créés pour les utilisateurs worker1 et worker2 automatiquement, lors de la première construction de 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 le site officiel 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. Ce programme d'installation 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 être exécuté ultérieurement 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 canal navigateur web Chrome) 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 sont vierges. En mode ligne de commande à partir d'une session utilisateur avec un environnement de bureau, le test génère des fenêtres visibles sur la session utilisateur et les captures d'écran ATSV fonctionnent.

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 pour un compte utilisateur d'exécuter un exécutable en tant que service est disponible ici. Les étapes à suivre sont les suivantes : Outils d'administration > Stratégie de sécurité locale > Stratégies locales > Attribution des droits d'utilisateur > Connexion en tant que service (NT SERVICE\ALL SERVICES). L'utilisateur Administrateur a été ajouté ici.


Le chemin d'accès au JDK Java est demandé par l'installateur. 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 le démarrage et l'arrêt du service Jenkins. Le type de démarrage automatique permet au service de démarrer dès que le serveur est démarré, même avant 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 d'accès à git.exe (voir l'article Utiliser un dépôt Git comme source de projet Agilitest pour les builds Jenkins)
  • Ajouter le label ats dans le menu Gérer Jenkins > Gérer les nœuds et les nuages > Nœud intégré > Configurer.

Dans ce type de configuration, veillez à 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

Lancer des tests à partir d'un pipeline Azure DevOps

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

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

1. Mise en place de l'environnement

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

Comment télécharger et installer l'agent

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

Suivez les étapes suivantes :

  • Créez un nouveau jeton en sélectionnant l'autorisation Agent Pools (read, manage).
  • Retournez à 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 hébergé par vos soins.
  • Cliquez sur Nouvel agent et suivez les instructions de la page pour télécharger votre agent.
  • Décompressez 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 un service, choisissez le mode interactif, sinon vous ne pourrez pas lancer les tests ATS .
  • Une fois votre agent configuré, exécutez run.cmd pour le démarrer.
  • Pour plus d'informations sur le téléchargement et l'installation d'un agent Azure Pipeline : https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-windows?view=azure-devops

Configuration 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 au 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 à partir d'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 la version 11 du JDK ou d'une version plus récente.
  • Maven doit également être installé, vous pouvez le télécharger ici : https://maven.apache.org/download.cgi

2. Créer un nouveau pipeline sur Azure DevOps

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

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

Suivez les instructions pour connecter le pipeline Azure.

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

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

  • Vous pouvez également partir d'un pipeline vide et ajouter une tâche Maven.
  • Dans la section pool, remplacez le type "vmImage" par "name" et entrez le nom du pool que vous avez créé précédemment.

Modifier la tâche Maven :

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

Votre fichier YAML devrait ressembler à ceci :

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

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

Vous avez encore besoin d'aide ?
Contacter le support

Bienvenue au centre d'assistance d'Agilitest

Voici la documentation complète sur Agilitest et ses caractéristiques.

De la mise en place 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 logiciel

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

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

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

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

Pour plus d'informations sur l'ATS: ats

Prérequis pour l'utilisation d'Agilitest

Exigences en matière de logiciels

Systèmes pris en charge

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

  • Windows Server 2016
  • Windows 10 ou 11

Le client Agilitest n'est pas supporté pour fonctionner sur des environnements émulés.

Pour l'exécution des tests, nous prenons en charge plusieurs environnements. Plus d'informations sur www.actiontestscript.org

Installation d'Agilitest

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

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

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

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

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

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

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

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

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

🔸 Avertissement

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

Accès à l'UTS

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

Technologies du Web

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

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

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

Services Web

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

Android

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

Prise en charge des mobiles physiques.

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

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

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

iOS

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

Prise en charge des mobiles physiques.

Prise en charge des émulateurs.

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

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

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

SAP

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

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

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

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

Exigences en matière de matériel

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

Systèmes pris en charge

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

Ordinateur personnel

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

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

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

Écran

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

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

💡 Conseil

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

Appareils mobiles

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

Réseau et applications complémentaires

Accès au réseau

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

https://agilitest.app

https://actiontestscript.org

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

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

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

Exécutions de ATS

Agilitest et ATS sont deux choses différentes.

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

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

L'ATS peut être exécuté sur Windows, MacOS et Linux 2018+.

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

Vous avez encore besoin d'aide ?
Contacter le support

Émulateurs Genymotion

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

Télécharger et installer la solution Genymotion

Pour ce faire, il faut avoir téléchargé et installé la solution Genymotion et 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 avec 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

Genymotion Desktop

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 ATSMobilestation, qui indique les bornes qui sont connectées, 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 mobilestation - 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, par le biais du 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, ATSMobilestation affiche 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

Configurer votre compte Genymotion

ATSMobilestation va gérer votre compte Genymotion, lancer des émulateurs et effectuer 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 entrer son chemin d'accès dans le champ "Dossier Python".

Cliquez sur "Installer les composants", ATSMobilestation installera les composants gmsaas :

Installation de gmsaas

Entrez vos identifiants Genymotion :

Renseignez vos identifiants

L'installation est terminée !

Cliquez sur "Terminer"

Lancer un émulateur Genymotion dans le cloud

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 est affiché 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 cloud de Genymotion :

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
Effectuer 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 d'ATSMobilestation, qui centralise tous les terminaux mobiles accessibles à partir d'un PC / serveur donné.

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

Il en existe plusieurs, et nous n'avons pas de liste exhaustive des terminaux supportés par ATSMobilestation, en général, un accès à adb suffit pour les supporter.

Pour la démonstration, nous utiliserons 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, veillez simplement à ce que l'installation de "Android Virtual Device" soit 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 du gestionnaire AVD

Cliquez sur "Créer un appareil virtuel".

Sélectionnez ensuite un type d'appareil, la version d'Android sur laquelle vous souhaitez 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

Cliquez ensuite sur le bouton "Play" à droite et attendez 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 permet de lancer l'émulateur, de l'arrêter, etc.

Une fois lancé, il apparaît dans la liste des "appareils 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 suffit de lancer Agilitest et vous devriez voir votre émulateur apparaître dans la liste des terminaux accessibles pour effectuer un test :

Sélection d'un dispositif 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 permet d'automatiser la création de fichiers HTTP Archive (HAR ) qui seront utiles pour analyser les flux du 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 effectué lors d'une requête HTTP.

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

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

Vous pouvez obtenir ce résultat :

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

Comment cela fonctionne-t-il dans Agilitest ?

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


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

Activation du mode performance


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

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

<?xml version="1.0" encoding="utf-8">
<execute>
	...
	<performance>
    	<idle>4</idle>
    	<blacklist>
    		<url>https:\/\/www.google.com.*</url>
        	<url>https:\/\/accounts.google.com.*</url>
    	</blacklist>
	</performance>
	...
</execute>...
La balise performance permet d'intégrer d'autres éléments de configuration.

Exemple :

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

Les paramètres sont les suivants :

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

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

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

Ouvrir un canal en mode d'enregistrement HAR

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

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

bouton performance

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

canal avec action de performance

Ajouter des fonctions d'enregistrement

Paramètres

Cette action vous permettra de configurer la capture réseau

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

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

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

Enregistrer

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

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

Récupérer le fichier HAR

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

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

target/performance/generateHAR.

Vous avez encore besoin d'aide ?
Contacter le support

Automatisation des scénarios Octoperf

Qu'est-ce que l'Octoperf ?

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

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

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

Voici comment cela fonctionne :

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

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

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

Activation du mode Octoperf

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

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

Le code suivant active les deux modes nécessaires :

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

Les paramètres sont les suivants :

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

Profil Octoperf

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

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

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

Le menu Performance peut être déroulé et affiche les sous-menus suivants :

Ouvrir un canal en mode enregistrement Octoperf

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

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

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

Ajouter des fonctions d'intégration avec Octoperf

Paramètres

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

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

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

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

Enregistrer

Cette action en mode marche/arrêt vous permet d'indiquer à Agilitest quand vous souhaitez commencer à enregistrer le trafic réseau.


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

Sauver l'UEV

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

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


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

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

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

Vous avez encore besoin d'aide ?
Contacter le support

Rendre les tests de logiciels plus robustes

Il y a un certain nombre d'astuces à 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, lorsqu'il s'agit de tests automatisés de logiciels, 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 qu'il faudra prendre en compte.

Ce billet présente une série de conseils 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 attendrons 5 secondes de plus !

Nous vous déconseillons de le faire, ce billet 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 frameworks de composants génèrent des identifiants qui peuvent n'être valables que pour une session de navigation donnée, et il est risqué de s'appuyer sur ces identifiants pour effectuer des tests, car il est très probable que les identifiants aient été modifiés au cours de l'exécution.

Dans certains cas, il est encore possible de le faire à l'aide d'expressions régulières.

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

"select_

"id = select_4657

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

select_( d{4})

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


La conception de l'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 visons à surmonter un certain nombre d'insuffisances et/ou de défauts. Cela implique la mise en œuvre 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 biens

Lorsqu'il récupère une valeur sur un composteur, Agilitest vérifie deux fois la valeur pour s'assurer qu'il récupère des informations précises et stables. Cela garantit que les valeurs que nous voulons contrôler sont définitives et celles fournies par le test, tout en ajoutant de la stabilité et de la fiabilité.

La configuration par l'exécution du robot

La fiabilité d'un test dépend également de sa rapidité ou de sa lenteur d'exécution. En effet, les réseaux et les performances des machines peuvent mettre les tests en échecATS prend en compte la possibilité que les performances des machines aient un impact sur 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 les environnements d'exécution au contexte souhaité, par exemple une version de logiciel de développement ou une version de production peut ne pas réagir de la même manière : Avec ce système, il y a beaucoup plus de garanties d'avoir toujours une relecture régulière.

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 préoccupations 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 les "muda" (perte de temps/gaspillage) dès que nous en avons l'occasion.

Vous avez encore besoin d'aide ?
Contacter le support

Automatiser 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 "Cliquer sur la souris"

action du clic de la souris

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

application de la 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 :

  • Accepter
  • Rejeter
boîte d'acceptation

Exemple :

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

exemple de boîte de dialogue

Cliquez sur l'action

Il est également possible d'utiliser simplement l'action cliquer 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 sur la boîte de dialogue

Action sur les biens

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

Exemple :

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

action sur les biens

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 immobilière.

valeur d'un bien immobilier

Vous avez encore besoin d'aide ?
Contacter le support

Gestion des mots de passe cryptés

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

Comment gérer les mots de passe cryptés

Cela leur permet de ne pas apparaître en texte clair 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 du 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 duplicata de variable, une valeur.

Par la suite, la valeur peut être récupérée dans l'ATS comme une variable normale à l'aide du 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, sauf dans le 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 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.
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 vous déconseillons d'effectuer vos tests avec des comptes utilisateurs réels qui se trouvent 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 ayant 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 testez sur des systèmes qui sont dans le cloud, vous ne pourrez pas faire autrement, et dans ce cas, nous vous conseillons de compléter ce dispositif, par exemple en passant par des protocoles de transfert sécurisés comme https ou en utilisant des mots de passe à usage unique délivrés 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 puis à réaliser vos premiers tests.

▶️ Vous pouvez trouver un tutoriel sur l'installation d'Agilitest sur notre canal 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, rendez-vous sur 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 sûr 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 au fonctionnement d'Agilitest.

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

extraire le dossier agilitest.zip

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

🔸 Avertissement

Veillez à placer 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 et double-cliquez sur votre fichier .exe pour lancer Agilitest.

2. Lancer Agilitest

La fenêtre ChangeLog apparaît à l'ouverture d'Agilitest lorsque vous ouvrez Agilitest pour la première fois 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 en cours d'Agilitest et des modifications qui ont été apportées au logiciel (parfois avec une courte vidéo explicative pour mieux comprendre).

Lors de 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 l'ATS démarrent automatiquement.

Mise à jour des composants ATS

Une mise à jour est effectuée environ toutes les semaines, notamment pour supporter les évolutions des navigateurs et des pilotes web.

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 de le télécharger directement à partir d'Agilitest, comme indiqué en cliquant sur le bouton "Télécharger". Ceci téléchargera le JDK ouvert qui est une version auto-déclarée du JDK.

Paramètres de Java (JDK)

Les deux conditions préalables à l'utilisation d'ATS sont le paquetATS et le JDK qui rendra l'éditeur fonctionnel.

Vous devez disposer au minimum de la version 11 du JDK. Agilitest téléchargera la dernière version.

💡 Conseil

Si UFT est installé avec un JDK dans les variables d'environnement, vous pouvez faire cohabiter Agilitest avec ce JDK ouvert 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'identifiant, l'identifiant du 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 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 pilotes web 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 les télécharger tous lors de l'installation pour qu'ils soient 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 paramètres et configurations avec la catégorie Aide, Outils, etc...

Section des paramètres et des configurations

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

explorateur de projets

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

Gestion des canaux

Puis la partie consacrée aux variables ci-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 trouverez un tutoriel sur la création d'un nouveau projet sur notre canal 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 souhaitez diviser votre projet en plusieurs domaines.

Nouvelle fenêtre de projet

Lorsque vous créez un nouveau projet, un répertoire"AgilitestProjects" est créé dans lequel tous vos projets sont 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 classer 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

Saisissez 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écrit toutes les 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 "Channels" et sélectionnez l'action "Start canal"

Démarrer l'action sur les canal

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

🔸 Avertissement

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 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 du canal 'ouvre alors et contient diverses informations sur le navigateur et le système d'exploitation.

ouverture du canal

Sur l'interface Agilitest, l'ouverture du canal sera indiqué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, vous devez cliquer sur le bouton "Navigation"et sélectionner "URL du navigateur".

action de l'URL du navigateur

Cliquez sur l'action pour ouvrir la barre de saisie et indiquez 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 à l'aide de l'outil de capture.

Cliquez sur le bouton "Capture"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 une boîte bleue.

outil de capture ouvert

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

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 en tant qu'attributs. Les propriétés peuvent être extraites des différentes branches de l'arbre pour plus de clarté.

🔸 Avertissement

Faites attention aux propriétés qui vont changer et qui ne pourront pas être reconnues dans le script par la suite (Exempletexte, 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.

expressions rationnelles

Une fois les attributs sélectionnés, cliquez sur le bouton "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 cela fait, vous pouvez glisser-déposer votre élément dans le script, ce qui créera une action.

Sélectionnez l'action que vous souhaitez 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 des canal dans Agilitest.

fermer le bouton de l'outil de capture

Ou vous pouvez cliquer sur le bouton "Fermer"dans 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 de l'action
  1. Chaque action possède un index qui est automatiquement ajouté et qui 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 de texte, vous pouvez saisir 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 votre script terminé, vous pouvez lancer l'exécution en cliquant sur le bouton "Jouer"dans le menu de gestion des chaînes.

Bouton d'exécution du test

🔸 Avertissement

Dans l'accès à distance, assurez-vous que vos sessions restent ouvertes pendant les exécutions.

Lorsque vous souhaitez fermer votre canal, vous pouvez créer une action "Fermer le canal".

Action sur le canal fermeture

Vous pouvez également fermer votre canal actuel à partir du menu de gestion des canaux.

Pour ce faire, cliquez sur le bouton "Fermersur le bouton " Fermer

Bouton de fermeture dans la gestion des canaux

Vous pouvez également cliquer sur le bouton "Stop"dans la ligne de canal

Bouton d'arrêt

🔸 Avertissement

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


Vous avez encore besoin d'aide ?
Contacter le support

Appels de sous-scripts conditionnels avec Agilitest

Agilitest vous permet d'appeler des sous-scripts dits"conditionnels", c'est-à-dire que l'évaluation d'une condition entraîne l'appel ou non du sous-script .

Comment appeler des indices conditionnels ?

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

Ensuite, cliquez sur l'action d'appel du script et "Ajouter une condition".

bouton ajouter une condition

Sélectionnez ensuite une variable sur laquelle une condition est basée.

sélection des variables

Cette variable peut être définie comme "égale" ou "différente".

Une seule condition peut être sélectionnée.

Vous pouvez supprimer une condition définie en cliquant sur "Supprimer la condition"dans l'action d'appel de script.

bouton de suppression de la condition

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

Pendant l'exécution, Agilitest évalue la condition et, en fonction du résultat, appelle ou n'appelle pas le sous-script en utilisant les paramètres définis.

Agilitest vous montrera dans l'éditeur le résultat de l'état actuel de l'appel au sous-script :

  • Flèche verte: le sous-script sera appelé
  • Signe d'arrêt: le sous-scriptum ne sera pas appelé
les conditions ont été remplies ou n'ont pas été remplies

🔸 Avertissement

Pour la création et la maintenance, nous recommandons de ne pas utiliser la fonctionnalité d'appel sous-script conditionnel, afin que les campagnes de test soient aussi prédictives que possible.

Les cas dans lesquels nous recommandons d'utiliser des conditions sont les suivants :

  • Effectuer un appel en fonction de la valeur d'une variable globale : cela permet d'effectuer des opérations de configuration en fonction de la présence ou de l'absence d'une variable dans les paramètres d'appel de l'intégration continue, par exemple.
  • Dans un sous-script avec un fichier CSV : appeler un script en fonction d'un paramètre de fichier CSV passé en tant qu'appel de sous-script . Cela nécessite un deuxième niveau de sous-script, mais permet de gérer des contrôles dédiés.

Vous avez encore besoin d'aide ?
Contacter le support

Activation d'Agilitest

Vous venez de commander une licence Agilitest et vous devriez avoir reçu votre identifiant client. Si ce n'est pas le cas, veuillez contacter notre service commercial qui vous le fournira. (mail : contact@agilitest.com )

Comment activer votre licence Agilitest

Voici toutes les informations nécessaires pour obtenir l'activation de vos licences sur vos postes de travail, cette opération doit être faite pour chaque licence et pour chaque poste de travail:

  • Connectez-vous à l'ordinateur sur lequel vous souhaitez activer la licence.
  • Lancez Agilitest et cliquez sur la bannière d'activation de la licence en haut de la page.
 Bannière d'activation de la licence  
  • Affichage de la fenêtre contextuelle 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 d'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 la mauvaise extension ou si vous souhaitez changer d'extension.

Vous avez encore besoin d'aide ?
Contacter le support

Automatisation des iFrames

Certaines pages HTML incluent des iFrames (inline frames) 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 cette 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 la détection de ses enfants aussi précise 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 effectué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 des échecs des tests.

◦ Rapport de synthèse (pdf): pour une lecture globale de la réussite aux tests dans un format spécialisé

◦ Rapport ATSV: Images d'exécution compilées dans un format vidéo (lecture via le lecteur ATSV).

2. Rapport de validation: pour documenter et archiver les exécutions réalisées.

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 des informations peut être utilisée (ainsi qu'une vidéo d'animation du schéma https://youtu.be/2UdsYINPk_s).

Schéma sur l'organisation des rapports d'essais

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 le cas "Generate report" 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 existe deux façons 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

Ensuite, en cliquant sur le cas "Générer un rapport"dans le constructeur du projet. Vous accéderez ainsi au niveau "Niveau de détail du rapport"ainsi qu'à la possibilité de cocher l'option "Générer un rapport de validation".

Constructeur du projet

2. De la "gestion descanal "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'un Job 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 du job Jenkins.

Jenkins Création d'emplois

Stockage des rapports

À la fin de l'exécution, les rapports seront stocké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 de Jenkins :

  • Jenkins : <jenkins_job_folder>\builds\<numero_de_build>\htmlreports\<nom_du_publisher>\

Rapports d'exécution

Le niveau d'information des 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.
  • Unrésumé de la Suite qui a le nombre de tests exécutés
  • Un résumé par script avec le nombre d'actions, l'heure et la date d'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 les bugs potentiels. 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 qui peut être agrandie (pour le rapport avec capture d'écran)

Toutes les informations sur les actions précisent le type d'action et les éléments de l'action. Exemple : ActionMouseKey, Type : Cliquer.

Un encart violet correspondant à l'action apparaît dans l'image lorsqu'une action exécutée correspond à une interaction avec 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 la réussite du test, une explication de l'erreur apparaît 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 reportage vidéo : ATSV

Le fichier ATSV est accessible directement à partir des rapports d'exécution et correspond à un format vidéo du rapport présenté sous la forme d'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 (bientôt : le lecteur s'ouvrira sur une page web).

Lien vers le rapport de l'ATSV
Lien vers le rapport ATSV à partir du 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 durapport 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 projet pour disposer d'un rapport de réussite 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é à l'aide de 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 souhaitez 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 contient 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'y a pas de lien,
  • Il y a toutes les actions (temps d'exécution, statut 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", nous trouvons le Tag et les Critères mais nous ne trouvons pas le nombre d'éléments trouvés, le temps de recherche, l'emplacement, la position du clic.
Rapport de validation
Exemple de rapport de validation

Le statut d'exécution de l'action

Pour tous les rapports d'exécution et pour le rapport de validation, il existe trois statuts d'exécution :

Échec de l'action

Échec de l'action : Lorsqu'une action est en erreur pour diverses raisonsbugs, mauvaise saisie, etc...), l'icône d'erreur apparaît sur la ligne de l'action.

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 échouée mais réussie : 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 réussite 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 prend en charge l'automatisation des tests sur les appareils Android.

Prérequis sur le terminal Android

  • Activer le mode développeur du smartphone pour permettre le "débogage USB".
  1. Accédez aux 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 plusieurs fois (sept fois) sur la case Build Number jusqu'à ce que le message"You are now a developer" apparaisse. 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" en fonction de la personnalisation du fabricant.
  5.  Dans les options de développement, activez ledébogage USB.
  6. Désactiver toutes les fonctions de verrouillage automatique de l'écran.
  7. Connecter le terminal Android sur le port USB.
  8. Connectez le terminal Android au même réseau WiFi que celui auquel vous connectez Agilitest.
  • Sous Windows 7, installez le driver développement fourni par le fabricant de votre téléphone. Par exemple, voici le driver pour les appareils Samsung. Après l'installation du 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.

Prérequis sur Agilitest

  • Dans le menu "Aide", cliquez sur le lien dédié au téléchargement de "AtsMobileStation" en fonction de votre système d'exploitation (Windows ou Mac OS).
  • Exécutez le paquet téléchargé "AtsMobileStation.exe ou .dmg" pour installer localement ce module de détection des appareils mobiles.

Début de l'automatisation des tests

Lancez la station mobile ATS . Le premier écran indique qu'aucun appareil n'a été trouvé, mais le système commence à analyser 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....

La station mobile ATS 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é. Récupérez l'adresse IP du terminal connecté pour l'introduire dans Agilitest.

Dans Agilitest, créez le script ATS qui vous convient et insérez l'action"Démarrer le canal" et sélectionnez"Mobile".

Démarrer 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 le canal" sur un appareil Android

L'activation de la capture dans Agilitest ouvre un affichage à distance de l'écran du terminal contrôlé afin d'automatiser directement au-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 de la manière suivante :

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 indiquant 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 l'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 paquets 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"Paramètres".

bouton de réglage

Cliquez sur l'onglet "Paramètres"pour ouvrir la fenêtre dans l'éditeur

page des paramètres

Paramètres d'agilité

Rapport d'erreur

Vous pouvez activer les rapports d'erreur (ou journaux) en cochant la case"Rapports d'erreur".

rapport d'erreur

Trois options d'enregistrement sont disponibles :

  • Les journaux de démarrage, au cas où Agilitest se bloquerait au lancement.

Ensuite, les journaux d'exécution des tests afficheront les erreurs techniques (liées à un driver, et non les erreurs fonctionnelles) :

  • Pour ouvrir les journaux actuels, vides par défaut, qui affichent les derniers journaux créés
  • Pour ouvrir le répertoire des journaux 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 y a deux conditions préalables au bon fonctionnement d'Agilitest : le paquet ATS et le JDK.

Paramètres ATS

Agilitest nécessite une bibliothèque ATS à jour pour fonctionner.

Réglages de ats

À partir de ces configurations, vous pouvez :

  • Créer une configuration: Cette option crée une configuration globale de l'ATS dans le système. En cliquant dessus, vous pouvez modifier la configuration.
  • Télécharger les composants ATS
  • Télécharger ATS
  • Créer une configuration Neoload
  • Ouvrir un répertoire Maven
  • Ouvrir un répertoire ATS

Comment mettre en place l'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 l'ATS , cliquez sur le bouton "modifier la configuration"des paramètres de l'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 canal.
atsproperties path windows app

Vous trouverez l'application enregistrée dans les propriétés directement dans les applications lorsque vous ouvrirez un canal

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/6091037db25653a59aa30cfc_image-51.png

🔸 Avertissement

Les chemins d'accès devront être adaptés en fonction de votre configuration.

Paramètres 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

🔸 Avertissement

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 de stations mobiles ATS

Il est possible de configurer un serveur ATS Mobile Station pour qu'il se connecte automatiquement au serveur de configuration lors de vos tests mobiles.

En cliquant sur le bouton"Ajouter", il vous sera demandé de saisir l'adresse IP et le port, qui seront récupérés directement à partir de l'interface de la station mobile.

Vous pouvez consulter notre documentation sur les tests mobiles.

Comptes GIT

Le compte Git dans Agilitest permet de cloner un compte Git existant et donc d'utiliser un projet Git.

Cliquez sur le bouton "Ajouter"pour ajouter un compte

ajouter des comptes git

Saisissez ensuite les informations relatives à votre compte Git.

Informations sur le compte git

Vous avez encore besoin d'aide ?
Contacter le support

Commentaires et journal du script

▶️ Vous pouvez regarder notre tutoriel sur l 'utilisation des commentaires de script et des journaux sur notre canal Youtube.

Agilitest vous permet d'utiliser un formatage avancé des commentaires directement à partir de l'éditeur. Le format HTML est utilisé pour concevoir vos commentaires comme vous le souhaitez.

Vous pouvez utiliser les variables de script pour faire des commentaires avec des données de script réelles.

Il existe quatre types de commentaires :

  • Commentaire sur le script
  • Étape fonctionnelle
  • Journal d'exécution
  • Résumé du rapport

Commentaire sur le script

Le commentaire du script est celui qui sera appliqué par défaut lorsque vous cliquez sur l'action"Commentaire".

commentaire action

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

"Commentaire sur l'étape fonctionnelle

bouton de marche fonctionnel

Ce type de commentaire figurera dans le rapport d'exécution final.

"Commentaire "Journal d'exécution

journal d'exécution, mais pour

Ce type de commentaire apparaît dans les journaux d'exécution des tests.

"Commentaire "Résumé du rapport

bouton résumé du rapport

Ce type de commentaire apparaît dans le résumé de l'exécution du test dans le rapport d'exécution.

Pour chaque type de commentaire, vous avez la possibilité d'effectuer une saisie vocale :

commentaire avec contribution vocale
  • La première icône de microphone est utilisée pour prononcer votre entrée à haute voix.
  • La deuxième icône de microphone avec le "A" sert à la mise en forme (texte en gras, en italique, etc...).

Insérer une valeur spéciale

Il est également possible d'insérer une valeur spéciale pour tous les types de commentaires.

bouton valeur spéciale

Exemple de formatage

Vous trouverez ci-dessous quelques exemples de formats HTML chaîne de caractère autorisés dans Agilitest :

  • Caractères gras :

<b> Bold characters </b>

caractères gras

  • Caractères soulignés :

<u> Underlined characters </u>

caractères soulignés

  • Caractères italiques :

<i> Italic characters </i>

caractères italiques

  • Utiliser des puces:

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

l'utilisation de puces

  • Priorité aux paragraphes numérotés :

<OL><LI>Number 1</LI><LI>Number 2</LI></OL>

paragraphes numérotés

  • Insérer un lien actif cliquable:

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

lien cliquable

  • Insérer et afficher un lien vers une capture d'écran:

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

capture d'écran

  • Texte en couleur

<font color="red">text</font>

Vous avez encore besoin d'aide ?
Contacter le support

Passer des paramètres à un sous-script (JSON/CSV)

L'une des caractéristiques d'Agilitest est la possibilité d'utiliser des indices. Cela vous permettra de factoriser les fonctions communes de vos tests. Agilitest vous permet également de passer des valeurs en tant que paramètres à vos sous-scripts et de rendre ainsi vos sous-scripts é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.

Il existe différentes manières de passer des paramètres à un sous-script:

  1. Manuellement, en entrant les paramètres dans le script
  2. ou avec un ensemble 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 canal Youtube : Partie 1, Partie 2, Partie 3

Ajouter des paramètres à un susbcript

Si vous n'avez pas d'action d'appelsous-script dans votre script, vous pouvez en créer une de deux façons :

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

Pour ce faire, cliquez sur le lien "sous-script"dans le menu action

action susbscript dans le menu action

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

action du script d'appel

Saisissez ensuite le nom du script que vous souhaitez appeler en tant que sous-script.

saisie du nom du script

      2. Soit en faisant glisser 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.

script d'entraînement

Cela créera une action "Appeler le script" avec le script déplacé.

Appeler l'action du script

1. Paramètres entrés manuellement

Il est possible de passer des paramètres manuellement.

Une fois que vous avez créé l'action d'appel du sous-script dans votre script, vous pouvez passer des paramètres manuellement à votre sous-script, directement à partir de votre script.

Pour ce faire, cliquez sur l'action call sub-script, "Appeler le script [nom_du_script]"

action du script d'appel

Cliquez ensuite 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 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 dans l'explorateur de projet.

sous-script dans l'explorateur

Dans votre sous-script, cliquez sur l'action qui exécutera les paramètres, puis ouvrez la fenêtre des valeurs spéciales. valeurs spéciales de la vue des valeurs spéciales.

menu à valeur spéciale

Sélectionner "Paramètre de script"dans les valeurs spéciales et choisissez le paramètre qui vous intéresse.

Sélectionner le paramètre du script

Lorsque l'action d'appeler un sous-script est exécutée, elle exécute les paramètres spécifiés.

📙 Pour en savoir plus
Avec l'action call script, un script appellera un sous-script. Lorsque 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 à partir d'un script").

Pendant l'exécution, les paramètres sont affichés dans une fenêtre contextuelle en bas à droite de l'éditeur.

paramètres affichés pendant l'exécution

Pour information, pour faire réapparaître la pop-up indiquant les réglages, vous pouvez cliquer sur le bouton"\x".

Bouton \x

Lorsque les paramètres sont introduits 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 sous-script que le nombre d'itérations souhaitées. 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 pour suivre les données et étiqueter les paramètres. Ces commentaires seront visibles dans le rapport d'exécution.

2. Paramètres introduits à partir d'un fichier JSON/CSV

Créer un fichier JSON/CSV

Il est également possible de transmettre des paramètres à partir d'un fichier JSON/CSV. Un fichier JSON/CSV correspond à un jeu de données. Le jeu de données permettra 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 sous-script et introduire des paramètres à chaque fois, pour l'ensemble de données, les paramètres seront organisés dans un tableau qui sera utilisé par une seule action d'appel sous-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
nouveau bouton de composant

Sélectionnez ensuite "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 call script.

Pour associer votre fichier JSON/CSV à votre script, cliquez sur l'action call script "Appeler le script [nom_du_script]"

appeler l'action du script

Sélectionner "CSV/JSONFichier " 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 du fichier pour rechercher votre fichier à partir de l'explorateur Windows.

bouton d'ouverture de fichier

Une fois le fichier CSV/JSON ajouté à l'action d'appel 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 en-têtes titrés dans le fichier json

Dans le tableau, vous pouvez ajouter des colonnes correspondant aux paramètres, ainsi que des lignes correspondant aux itérations en cliquant sur les boutons prévus à cet effet.

pour ajouter des itérations et des lignes ou pour supprimer des itérations et des lignes.

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) composé d'un tableau de lignes et de 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 les itérations. (Voir le schéma ci-dessus "Passer des paramètres à un sous-script avec un fichier csv")
Il en va de même pour les paramètres du sous-script définis à partir d'un fichier JSON (JavaScript Object Notation) composé d'un tableau de lignes et de 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 les itérations. (voir le schéma ci-dessus "Passer des 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 "Passer des 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 "Passer des 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 effectuées 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éatoire.

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 indiquer une"plage d'index", ce qui vous permet de limiter le nombre d'itérations parmi l'ensemble des itérations qui composent le fichier JSON ou CSV.

Bouton d'intervalle 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 comprend 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 disposez de l'option"Exécuter comme suite" pour que l'exécution se poursuive jusqu'à la fin, même si une itération est erronée.

exécuter en tant que bouton de suite

Lorsque vous rencontrez une erreur dans l'une des itérations, votre test sera considéré comme étant en erreur et s'arrêtera donc 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 48e itération rencontre une erreur, elle sera signalée comme étant en erreur mais n'empêchera pas de passer à la 49e et ainsi de suite.

🔸 Avertissement

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 une des actions n'a pas d'élément alors le param(0) sera utilisé par défaut. Pour renseigner le param(0) qui sera utilisé, vous pouvez ajouter un"Texte de l'élément" à l'action qui appelle le sous-script.

A partir de l'action call 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 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 recherchez 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 le sous-script.

📙 Pour en savoir plus
Les paramètres peuvent également provenir d'éléments. Pour une liste d'éléments (DIV), chaque élément correspond à une itération et chaque valeur distincte d'une propriété de texte "\n" correspond à un paramètre.(Voir le schéma ci-dessus "Passer des paramètres à un sous-script avec une liste d'éléments (div)")
Pour une liste complexe d'éléments (Rows), chaque rangée correspond à une itération et chaque valeur distincte d'un texte divisé "\t" correspond à un paramètre. (voir le schéma ci-dessus "Passer des paramètres à un sous-script avec une liste d'éléments complexes (rangées)")
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 des propriétés textuelles séparées qui composent ces sous-éléments. (Voir le schéma ci-dessus "Passer des paramètres à un sous-script avec une liste d'éléments spéciaux")

Convertir un fichier EXCEL en fichier de données

Vous pouvez utiliser vos fichiers Excel dans Agilitest en les convertissant en fichiers de données.

Pour ce faire, exportez votre fichier Excel et convertissez-le en fichier .csv ou .json.

Une fois que c'est fait, ouvrez votre fichier "données"de votre projet dans l'explorateur de projet Windows.

Ensuite, copiez et collez votre fichier de données dans le référentiel.

4. Paramètres avec séparateur de données

Il est également possible d'appeler un sous-script en passant des paramètres sous forme de tableau.

Pour ce faire, faites glisser un script de votre explorateur de projet vers votre script.

Cliquez ensuite sur "séparateur de données"

Ce tableau est composé de données au format texte :

  • Soit saisie manuellement
  • Ou avec une variable

Lors de la transmission de ces données, vous pouvez spécifier un caractère de séparation pour définir les lignes et les colonnes.

Saisissez le caractère que vous souhaitez définir comme séparateur, puis ajoutez-le à vos données pour qu'il remplisse sa fonction.

Exemple :

Si vous saisissez le caractère "/" comme séparateur de colonne

Vous ajoutez ce caractère à vos données lorsque vous souhaitez créer une séparation

Il affiche ensuite un tableau dont les données sont séparées en fonction de la position du séparateur de colonnes "/".

Il est possible de ne pas introduire de caractère de séparation :

  • Bouton d'effacement

La création d'un séparateur vide permet de séparer tous les caractères existants.

  • Bouton de croix

La création d'un séparateur nul n'affectera pas les données, qui resteront telles quelles.

Appeler une action de script avec des scripts externes

Script Javascript

Dans l'explorateur de projet, ouvrez le menu "Javascript ATS scripts".

Créez un script Javascript et donnez-lui un nom.

Toutes les informations nécessaires à l'utilisation des éléments et des paramètres se trouvent directement dans votre script Javascript.

Ce script est modifiable à partir de l'éditeur Agilitest.

Depuis votre script ATS , faites glisser votre script Javascript pour créer une action de script d'appel.

Vous pouvez récupérer les paramètres passés dans votre sous-script Javascript (manuels, séparateurs de données, fichiers CSV/JSON).

Pour ce faire, vous pouvez utiliser la fonction indiquée dans le script Javascript, à savoir ats.

La particularité du sous-script Javascript est qu'il est possible de passer un élément.

Pour récupérer un élément, vous pouvez utiliser la variable indiquée dans le script Javascript, c'est-à-dire ats

Script Python

Dans l'explorateur de projet, ouvrez le menu "Scripts Python ATS ".

Créez un script Python et donnez-lui un nom.

Toutes les informations nécessaires à l'utilisation des éléments et des paramètres se trouvent directement dans votre script Javascript.

Ce script est modifiable à partir de l'éditeur Agilitest.

Depuis votre script ATS , faites glisser votre script Python pour créer une action de script d'appel.

Vous pouvez récupérer les paramètres passés dans votre sous-script Python (manuels, séparateurs de données, fichiers CSV/JSON).

Pour ce faire, vous pouvez utiliser la fonction indiquée dans le script Javascript, à savoir ats.

🔸 Avertissement

Contrairement aux sous-scripts Javascript, il n'est pas possible de passer un élément avec un sous-script Python.

Options d'exécution des paramètres

Itérations

L'ajout d'itérations permet à votre script d'être exécuté plusieurs fois. Ceci est pratique lorsque vous avez une fonction qui peut être utilisée successivement et vous permettra de vérifier le comportement de votre interface utilisateur.

Exemple : La fonction "retour en arrière" permet de 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 sous-script et augmentez le nombre d'itérations.

sous-script itérations

Exemple : Si vous ajoutez 3 itérations, le sous-script et ses paramètres seront exécutés 3 fois.

L'ajout d'itérations permet d'éviter les flaky tests, c'est-à-dire les actions qui sont exécutées plusieurs fois et qui produiront 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 dans 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.

Transmission des éléments parents

Il est possible de passer un élément récupéré dans un sous-script.

A partir de votre action sous-script , cliquez sur "parameter element".

Passez en mode capture, puis sélectionnez un élément avec un parent.

Faites glisser l'élément dans le sous-script.

Une fois dans votre action sous-script , ajoutez une action puis cliquez sur "application root" puis sur parameter item.

Vous trouverez l'élément précédemment capturé, auquel vous pouvez ajouter des enfants.

Valeur de retour

Il est possible d'obtenir des données d'un sous-script. Cela crée une variable dynamique (non modifiable) puisque la variable de retour valorise automatiquement 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 , une petite flèche jaune vous permet d'ajouter une valeur de retour.

bouton d'ajout de la valeur de retour

Une fois la variable de retour créée, elle doit être récupérée à partir de l'action d'appel du script.

Pour ce faire, cliquez sur le bouton "Variables"pour la baliser dans le script principal avec une variable équivalente ci-contre.

bouton des variables

2. Variable de propriété

Créer une action de propriété pour obtenir des données de l'interface.

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

action sur les biens

L'action de propriété ciblera un élément d'interface.

Pour cela, cliquez sur le bouton "Charger"dans l'action de 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 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é.

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

la propriété texte à partir des propriétés capturées

Une fois la valeur créée à partir de la propriété, vous pouvez la renvoyer.

Cliquez sur le bouton "Ajouter une valeur de retour".

bouton d'ajout de la valeur de retour

Ensuite, ouvrez la section 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 de 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 créez-en une nouvelle.

newvar valeur retournée

Cela signifie que la valeur de retour du sous-script sera récupérée à partir des variables du script principal.

Cela permet de transmettre 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 return value, vous pouvez appeler un certain nombre de valeurs qui seront renvoyées en fonction des valeurs du 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 canal

▶️ Vous trouverez un tutoriel sur la façon de gérer les canaux sur notre canal Youtube.

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 gestion descanal dans l'éditeur pour effectuer des opérations de capture d'éléments graphiques.

Démarrer un canal

Tous les tests doivent commencer par une action de démarrage du canal .

Pour ce faire, cliquez sur l'action canal dans le menu action

action sur les canaux

Cliquez ensuite sur "Démarrer le canal".

Démarrer l'action sur les canal

Ensuite, il est préférable de renommer le 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 le canal".

démarrer l'action canal dans l'éditeur

Saisissez ensuite le nom que vous souhaitez donner à votre canal.

nom du canal

L'action"Démarrer le 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
  • Ouvrez une application de bureau définie dans votre configuration
  • Ouvrir une application mobile (Android ou iOS)
  • Ouvrez n'importe quelle application .exe.
  • Ouvrir un Webservice

Il est possible d'ouvrir plusieurs canaux dans un même script.

canal

canal dérivation

L'action"Changer de canal" permet de passer d'un canal à un autre canal ouvert identifié par son nom.

action sur le canal commutation dans l'éditeur

À partir de cette action, toutes les actions suivantes seront dirigées vers le canal spécifié dans l'action"Changer de canal".

🔸 Avertissement

Le démarrage d'un nouveau canal signifie qu'il l'activera directement.

Vous pouvez également utiliser le menu de gestion des canal pour changer la chaîne active.

Pour ce faire, cliquez sur la coche bleue à côté du nom du canal pour le rendre actif.

gestion des canaux

Cependant, le changement de canal dans le menu de gestion des canal n'apparaîtra pas comme une action dans votre script.

canal fermé

action sur le canal proximité

La fermeture d'un canal indique à Agilitest que ce canal ne sera plus utilisé pendant ce test et ferme l'application.

Vous pouvez également fermer le canal en cours à partir du panneau de gestion des exécutions de l'éditeur Agilitest.

Pour ce faire, cliquez sur le bouton "Fermersur le bouton " Fermer

action close canal dans la gestion des canaux

Ou la touche "Stop sur la ligne du canal

bouton d'arrêt du canal

🔸 Avertissement

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 un canal à une application déjà lancée

Il est également possible de 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 des canal permet de gérer les différents canaux d'entrée des actions lors du débogage des tests.

Le menu de gestion des canal est situé à gauche, sous l'explorateur de projets.

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 canal. Elle 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 permet de fermer proprement un canal ouvert, 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 ATSVATS 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

échec de l'ouverture du 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 de pilotes et de librairies
  • Répétez l'opération en veillant à ce que le blocage ne se reproduise pas (neutralisation temporaire de l'antivirus).
  • Fermer 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"Settings", téléchargez le paquet zippé "Drivers and Libraries".
Télécharger le bouton des composants de ats
  • L'archiveats.zip" sera automatiquement téléchargée via votre navigateur par défaut.
  • Décompressez cette archiveats.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 canal avec des plugins

Lorsque vous démarrez un canal navigation 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 canal démarré 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 du 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 canal 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 visuel de la fenêtre: Ceci 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.

Taille et emplacement

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/60910360b49e959fc8bc06f2_image-211.png

Cette action permet de déplacer la fenêtre en spécifiant ses nouvelles coordonnées cartésiennes, ou de modifier sa taille: hauteur et largeur.

Il suffit d'activer les paramètres que vous souhaitez modifier en cliquant sur les étoiles jaunes, puis de saisir les valeurs souhaitées.

Cette action affecte la fenêtre en cours.

État visuel de la fenêtre

Cette action vous permet d'envoyer un événement du système d'exploitation à la fenêtre en cours.

Il fonctionne de la même manière que si vous aviez cliqué sur l'une des icônes de votre application (en haut à droite pour Windows).

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/60910360e8e6f57b55aa7ddd_image-19.png

Les actions possibles sont les suivantes :

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/60910360d3595f5b5552df4a_image-212.png
  • Fermer: Pour fermer la fenêtre en cours
  • Maximiser : Pour agrandir la fenêtre actuelle au maximum
  • Réduire : Pour réduire la fenêtre

Fenêtre de commutation

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.

Cette fonction est similaire à celle du canal courant : toutes les actions effectuées sont envoyées à la fenêtre courante.

action de la fenêtre de commutation

Cette action de changement de fenêtre peut être appliquée à différentes fenêtres d'un canal ainsi qu'à différents onglets d'une fenêtre.

Index

Cette fonction permet de changer la fenêtre en cours en indiquant le numéro de la fenêtre concernée.

Le chiffre 0 correspond à la fenêtre principale de l'application, et les chiffres suivants correspondent à l'ordre d'apparition des fenêtres (ou des onglets dans un navigateur).

Exemple :

Vous avez un canal avec 7 fenêtres.

La première fenêtre a l'indice 0.

La deuxième fenêtre est l'index 1.

La troisième fenêtre est l'index 2.

Etc...

Nom

Pour changer de fenêtre avec un nom, vous devez saisir un nom qui est affiché dans l'onglet vers lequel vous souhaitez basculer.

Exemple :

Un onglet d'un navigateur

Si vous souhaitez passer à l'onglet "Chat - Wikipédia", vous pouvez saisir "chat" dans le champ du nom.

commutateur avec nom

🔸Warning

Si le mot que vous saisissez apparaît plusieurs fois dans plusieurs onglets/fenêtres, l'éditeur utilisera celui qui apparaît en premier.

URL

Pour changer de fenêtre à l'aide d'une URL, vous pouvez saisir l'URL de la fenêtre ou de l'onglet de votre choix.

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. Dans ce cas, nous vous recommandons de laisser les applications utiliser l'espace de l'écran comme elles le souhaitent, et éventuellement de les tester 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 la fonction de saisie de texte sur notre canal Youtube.

Créer une entrée de texte

L'action"Saisir un 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 le bouton "Saisir le 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 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.

Toutefois, 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 canal 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 outil de capturedé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

🔸 Avertissement

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 de décalage 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

Plus de

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

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

Parchemin

L'action de défilement simule une rotation de la molette de la souris, entraînant le défilement de la page affichée.

Dans le cas d'une application mobile, le défilement consiste à balayer l'écran.

Dans les deux cas, Agilitest est utilisé pour indiquer le nombre de pixels pour le défilement vers le haut ou vers le bas. Ce nombre est positif si l'on veut faire défiler vers le bas.

Pour être efficace, l'élément d'interface sélectionné doit répondre à une action de défilement. Vous pouvez effectuer cette action sur la fenêtre principale de l'application en ne sélectionnant pas d'élément d'interface.

L'action peut être utilisée sur des sous-fenêtres (DIV) qui ont des options de défilement, en sélectionnant l'élément comprenant la fenêtre désirée.

Lorsque l'action de défilement est créée, elle est exécutée par défaut en tant que défilement automatique.

Toutefois, il est possible de définir le défilement que vous souhaitez exécuter.

Pour ce faire, cliquez sur l'action de défilement

action de défilement automatique

Dans les paramètres de l'action, vous pouvez définir la valeur en pixels à faire défiler.

paramètres de défilement

Vous pouvez le faire en saisissant manuellement la valeur ou en plaçant votre souris sur le carré prévu à cet effet et en faisant défiler la molette de votre souris vers le haut ou vers le bas.


Vous avez encore besoin d'aide ?
Contacter le support

Automatisation des scénarios Neoload

Agilitest automatise la génération de scénarios dans Neoload

Cela vous permet de bénéficier de la capacité d'Agilitest à enregistrer et à rejouer un scénario.

Activation du mode Neoload

Neoload n'est pas activé par défaut dans Agilitest. Pour ce faire, vous devez modifier votre fichier .atsProperties et ajouter les lignes suivantes :

<neoload>
    <recorder>
    	<host>192.168.0.28</host>
    	<port>8090</port>
    </recorder>
    <design>
    	<api>Design/v1/Service.svc</api>
        <port>7400</port>
    </design>
</neoload>

Les paramètres sont les suivants :

  • recorder / host: correspond à l'adresse IP de la machine qui fait tourner Neoload et qui enregistre les scénarios.
  • recorder / port : le port d'écoute de Neoload sur cette machine. La valeur par défaut est 8090.
  • design / api : Service d'écoute de l'api Design permettant d'écouter et de modifier le projet Neoload en cours.
  • design / port : Port du Servie. La valeur par défaut est 7400.

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

Le menu Neoload peut être déroulé et affiche les sous-menus suivants :

Démarrage

Cette action vous permet de demander à Neoload de démarrer un scénario utilisateur.

La valeur UserPath n'est pas obligatoire mais vous permettra d'S'inscrire un utilisateur dans votre scénario.

Arrêter

Cela indique à Neoload d'arrêter le parcours de l'utilisateur actuel.

Deux options sont disponibles :

  • Trouver les paramètres du cadre : Cette option permet de définir des paramètres de remplacement dans Neoload dans le cadre afin de pouvoir les utiliser lors de la variabilisation.
  • Recherche de paramètres génériques : Cette option permet de définir des paramètres génériques dans Neoload afin de pouvoir les utiliser lors de la variabilisation.

Conteneur

Cette action crée un conteneur dans Neoload et lui donne un nom.

Enregistrement

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

Vous pouvez interrompre et reprendre l'enregistrement pendant le script.

Vous avez encore besoin d'aide ?
Contacter le support

Automatisation des applications bureautiques et Windows

=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 bureau 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 un canalpuis cliquez sur l'icône pour sélectionner un 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é

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 existe également le bouton Bureau situé directement dans les applications lors de l'ouverture d'un 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.

🔸 Avertissement

Lors de l'ouverture d'un canal bureau, vous devrez toujours passer par l'action"URL du navigateur" en saisissant le chemin d'accès 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 la touche ALT en mode capture: Agilitest passera de la vue DOM à l'affichage du composant Desktop. Presse à 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 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 ATS

bouton d'édition de la configuration

Cela ouvrira les atsProperties dans vos notes.

propriétés de ats

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>

🔸 Avertissement

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

Utilisation d'un locator non unique

Certaines configurations de test exigent que vous puissiez récupérer plusieurs éléments du même type à l'aide d'un seul locator. Il y a plusieurs raisons à cela :

Compter 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 a le bon nombre d'éléments.

Nous prendrons l'exemple d'un tableau qui présente les principaux navigateurs et leur portage sur différents systèmes d'exploitation :

Notre tableau d'échantillons : navigateurs / OS

Nous ferons une première vérification pour nous assurer 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 l'un de ses parents communs à tous les éléments que nous voulons compter de manière unique (en commençant par celui-ci).

Sélectionner une ligne unique

Ensuite, nous faisons glisser l'élément qui suit notre script pour faire un contrôle d'occurrence égal à 8.

Le premier contrôle échoue

Il est évident que 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 qu'Agilitest ne trouve donc qu'une seule occurrence de ligne.

Nous supprimons ensuite l'attribut TR xid = tr5 du locator

Supprimer l'identifiant unique propre à une seule ligne

Nous obtenons un locator non exclusif qui permet de trouver toutes les occurrences de TR sous l'élément TABLE table-main

Vérifier le nombre de lignes d'un élément TABLE

En exécutant l'action à la volée, nous confirmons qu'Agilitest trouve 8 lignes dans ce tableau.

Si vous cliquez sur la loupe :

Le menu grossissant

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

Recherche d'un élément par son index

Lorsque l'on dispose de localisateurs permettant de retrouver plusieurs éléments, il est possible de spécifier par un index ceux que l'on souhaite adresser.

Vous souhaitez mettre un index sur TR : cliquez sur TR


Vous devez cliquer dans l'éditeur sur l'élément qui est multiple

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.

Définir un élément par son indice

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, de vérifier le contenu d'une cellule spécifique d'un tableau.

Obtenir le texte d'une cellule spécifique

Cette fonction d'identification d'un élément par son index peut également vous permettre, dans certains cas, de 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 répertoires.

Editeur ATS et 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 d'ATS.

L'éditeur Agilitest se met alors à jour : un écran d'accueil 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ées: il s'agit de nouvelles fonctions qui ne sont pas liées à des fonctions existantes.

Modifié : Nouvelles fonctions liées aux fonctions existantes et aux extensions de fonctions

Fixé: Corrections de bug fonctionnels, 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 l'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 l'ATS

Il est tout à fait possible de stabiliser l'utilisation d'une version spécifique d'ATS en référençant la bibliothèque ATS souhaitée.

🔸 Avertissement

Nous ne le recommandons pas car les changements dans l'éditeur et l'ATS sont étroitement liés, mais nous considérons que cette fonctionnalité peut être intéressante pour certains profils. D'une 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 d'ATScliquer sur "éditer".Propriétés du projet"

propriétés du projet

Saisissez ensuite la version que vous souhaitez appliquer à votre projet.

version ats du projet

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"Use Maven with 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"Use 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 du driver Web ?

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

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 de vérification et de gestion de la vulnérabilité des ATS

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 une maintenance avant chaque livraison pour trouver ces vulnérabilités, comprendre leur origine et les corriger.

Les versions ATS sont publiées toutes les une à trois semaines par 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.

Référentiel MVN

Depuis le référentiel MVN, vous pouvez visualiser toutes les dépendances ATS .

interface du dépôt mvn

En détail, pour chaque version d'ats, le dépôt MVN 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 d'ATS et les vulnérabilités éventuellement présentes :ats

Dockerscout

Docker est une intégration de génération d'images. Une image Docker contient tous les composants ATS 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
  • Haut
  • Moyen
  • Faible

Agilitest s'engage à ne pas livrer de versions comportant des vulnérabilités critiques et à éviter autant que possible les vulnérabilités de haut niveau. Néanmoins, ces dernières peuvent être livrées pendant un certain temps en vue d'être supprimées dans les prochains jours.

Les vulnérabilités moyennes et faibles restent sous surveillance.

Pour afficher les images Docker susceptibles de contenir des vulnérabilités : https://hub.docker.com/repositories/actiontestscript

Vous avez encore besoin d'aide ?
Contacter le support

Exécution des tests

La conception des tests et la maintenance des scripts de test sont deux aspects essentiels du processus de test des logiciels. L'éditeur Agilitest vous permet de construire vos tests et de les modifier directement dans l'interface pendant l'exécution en mode "pas à pas".

Une série de fonctions sont disponibles au niveau de l'action pour configurer et modifier l'exécution de vos tests.

"Mode d'exécution "pas à pas

Le mode pas à pas est un mode spécial dédié à l'édition et à la modification des tests.

Agilitest vous permet de rejouer les actions indépendamment les unes des autres, de sorte que vous pouvez les exécuter étape par étape.

Pour ce faire, cliquez sur le bouton de lecture qui apparaît sur la ligne de chaque action survolée.

bouton de lecture

Agilitest effectuera alors immédiatement cette action sur le logiciel testé et vous enverra le résultat.

action exécutée

Ce mode de fonctionnement vous permet d'exécuter votre test pas à pas, en sélectionnant les actions les unes après les autres et en vérifiant que chaque action a été exécutée.

Options d'exécution

Marquer un point d'arrêt pendant l'exécution

Il est possible d'ajouter un point d'arrêt à une action pendant l'exécution du test, à des fins de débogage.

Pour ce faire, cliquez sur la coche située sous l'index de l'action pour afficher la fenêtre "Arrêterpour afficher l'icône " Stop ".

icône d'arrêt

Lorsque vous exécutez votre test, il s'arrête au point d'arrêt que vous avez spécifié.

Gérer le nombre d'essais pour une action

Il est possible d'augmenter ou de diminuer le nombre maximum de tentatives. Cela indique à Agilitest qu'il doit essayer plusieurs fois d'attendre le retour de l'application avant de générer un échec.

Cela contribue grandement à la robustesse des tests lorsque vous savez que votre serveur peut se trouver dans une situation où il ne délivre pas immédiatement la page souhaitée.

Le nombre maximum de tentatives est limité à 50, mais le temps d'attente entre chaque tentative suit une courbe exponentielle : cela permet de vérifier rapidement les conditions de réussite lorsqu'elles sont réunies, mais aussi d'attendre "un certain temps" qu'un traitement long soit effectué.

tentatives d'action

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

Action sans statut fonctionnel

Les actions sans statut fonctionnel sont des actions telles que "Commentaire", "Aller à l'URL", "Démarrer le canal", etc...

Ces actions ne peuvent pas échouer sur le plan fonctionnel. Elles ne peuvent échouer qu'en cas d'erreur de conception du test.

Exemples d'erreur de conception : un sous-script manquant, un fichier manquant, une erreur technique...

Actions avec un statut fonctionnel

  • Action de blocage
action normale lors d'un test

Par défaut, les actions du script bloquent le test pendant l'exécution.

Si l'action échoue, le test s'arrête et est considéré comme un échec.

  • Actions non bloquantes
    • Action facultative
action avec 2 flèches vertes

En spécifiant que l'action est facultative, si l'action échoue, le test ne s'arrêtera pas et l'état du test ne sera pas modifié.

    • Action non bloquante avec statut d'échec
Action avec une flèche verte et une croix rouge

En spécifiant qu'une action est non bloquante, si l'action échoue, le test continuera à être exécuté, mais son statut sera définitivement échoué.

Pour indiquer ce comportement dans Agilitest, appuyez sur la touche CTRL de votre clavier et cliquez ensuite sur les flèches vertes.

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 des 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 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 saisir la ligne de commande dans votre terminal pour exécuter le code sans utiliser Agilitest.

Pour récupérer la ligne de commande, copiez la ligne de commande à partir du constructeur du projet,

ligne de commande

Copiez ensuite la ligne de commande dans le terminal de votre ordinateur pour l'exécuter sans utiliser Agilitest.

Élément non trouvé

Dans l'automatisation des tests, il peut arriver qu'un élément ne soit plus reconnu lors de l'exécution en raison de modifications apportées au logiciel.

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

Localisation et analyse

Vous pouvez utiliser la vidéo de l'échec de l'exécution du test et/ou un rapport avec des captures d'écran pour comprendre et localiser l'échec de la reconnaissance. Deux possibilités s'offrent à vous :

  • L'élément initialement recherché n'existe plus dans le logiciel testé.
  • L'élément initialement recherché existe mais n'est plus reconnu.

Corriger le test

  1. Si l'élément requis n'existe plus

Le test peut être modifié en supprimant cette action dans l'éditeur.

Pour ce faire, cliquez avec le bouton droit de la souris et sélectionnez "Supprimer".

bouton de suppression

Vérifier les actions précédentes et suivantes qui peuvent être liées à l'exécution du test, si nécessaire.

            2. Si l'élément que vous recherchez existe, mais n'est plus reconnu

Le test doit donc être modifié, notamment en mettant à jour les critères de reconnaissance de cet élément dans l'éditeur Agilitest.

Pour ce faire, Agilitest indique précisément quel attribut n'est pas trouvé pour localiser cet élément.

élément non trouvé

Ouvrez l'outil de capture à partir de l'éditeur,

outil de capture

Capturez l'élément en appuyant sur la touche CTRL tout en plaçant votre souris sur l'élément,

sélection des attributs

Ajuster les attributs de détection.

Il est possible d'utiliser une "expression régulière sur chaque attribut pour plus de robustesse.

N'oubliez pas de valider l'unicité de la détection à l'aide du test statistique intégré.

statistiques

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

élément déplacé dans l'éditeur

Sauvegardez vos modifications.

Attentes personnalisées

Le problème de la vérification des actions

Les "Custom waits" sont une fonction utilisée dans un contexte particulier pour attendre que certaines choses soient faites avant l'exécution d'une action.

Il y a des choses qu'ATS ou Agilitest ne peuvent pas gérer en termes de contrôle de la continuité de l'exécution des tests.

Lorsqu'une action est exécutée, il y a beaucoup de traitement avant que l'action ne soit transmise (vérification si l'élément est cliquable ou non, vérification si l'élément est en mouvement, etc.) Certains de ces cas ne peuvent être prévus, car ils dépendent de l'application et de son développement spécifique.

Une solution serait d'ajouter un contrôle ou une action ATS d'attente avant chaque action, ce qui épaissirait vos scripts.

L'autre solution consiste à ajouter un fichier"custom waits" en tant que bibliothèque Java à un projet ATS .

Ce mécanisme permet d'effectuer des traitements de fond de manière systématique pour chaque exécution du projet.

Un modèle de cette bibliothèque que vous pouvez modifier est fourni par Agilitest, ainsi que son code source.

Paramétrez votre bibliothèque

Téléchargez le code source à l'aide de ce lien :

https://agilitest.app/resources/tools/AtsWaitGui.zip

Pour paramétrer votre bibliothèque, ouvrez le fichier et importez un projet.

Cliquez sur "Projets Maven existants"et sélectionnez le projet Agilitest Custom Waits

Dans cette bibliothèque, vous pouvez ajouter une classe dans laquelle vous pouvez surcharger certaines méthodes de traitement avant vos actions.

Il s'agit d'une classe qui hérite d'une classe ATS existante et qui sera surchargée à certains moments précis de l'exécution des tests ATS .

Exemple :

  1. Une action est effectuée avant la recherche d'un élément
  2. Une action est effectuée avant un clic de souris sur un élément trouvé
  3. Une action est effectuée avant de changer de fenêtre/d'onglet
  4. Une action est effectuée avant une action de saisie de texte
  5. Une action est effectuée avant une action "go to URL".

Pour compiler et empaqueter votre fichier, ouvrez une console et entrez "mvn clean package"

Une fois que c'est fait, vous pouvez récupérer la bibliothèque .jar dans le référentiel cible de votre projet.

Cette librairie .jar doit être mis dans votre répertoire de librairie Java du projet Agilitest

Une fois la bibliothèque placée dans votre répertoire de bibliothèques Java, les surcharges ajoutées seront systématiquement exécutées avant chaque action lors de l'exécution de vos scripts.

Vous avez encore besoin d'aide ?
Contacter le support

Appel de code Javascript

Utiliser le code Javascript dans Agilitest

Charger une fonction avec Javascript

Toutes les fonctions Javascript disponibles peuvent être chargées dans une action de script.

exécuter du code en javascript

Et renvoyer la valeur de la fonction sélectionnée en cochant la case "valeur de retour".

Certaines fonctions nécessitent un ou plusieurs paramètres.

Exemple :

Fonctions HTML

La fonction "AppendChild" requiert 1 paramètre.

Cliquez sur les actions

Il est possible d'exécuter du code Javascript pour les actions de clics de souris.

Pour activer l'option, cliquez sur la case à cocher permettant l'utilisation du code Javascript.

🔸 Avertissement

Une caractéristique spéciale s'applique aux éléments d'une iFrame.

L'option d'utilisation du code Javascript est automatiquement sélectionnée dès que l'élément se trouve dans une iframe et que l'iframe est sélectionné comme attribut.

Cette option peut être désactivée directement à partir de l'action de la souris.

Ajouter une condition dans une action

Pour ajouter une condition à une action, cliquez avec le bouton droit de la souris sur l'action.

Sélectionner "exécuter la condition"

Cela prend la première variable du script pour définir le code comme résultat lors de l'évaluation de la fonction.

Pour vérifier que la condition est "vraie" :

true == true

Vérifier qu'une valeur a est supérieure ou inférieure à une autre valeur :

$var(...) > 10

Pour vérifier la chaîne de caractère caractère caracters, vous devez ajouter une seule citation :

'$var(...)' == '14'

Cela permet à Javascript de faire la différence entre les valeurs numériques et les chaines de caractères

La condition ne sera exécutée que si le code javascript renvoie "true", sinon elle ne sera pas exécutée.

Cas pratique d'un script d'appel Javascript

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

Cela diffère d'un appel java qui s'apparente davantage à un appel de sous-script.

Dans les deux cas, il est possible de modifier les éléments du logiciel que l'on teste, et donc de se détacher de l'opération que l'on est censé contrôler.

Dans certains cas, c'est très pratique, voire nécessaire :

Exemple :

Jetons un coup d'œil au curseur.

L'image suivante montre deux curseurs de tailles différentes, chacun ayant une valeur initiale de 50.

exemple avec 2 curseurs

Lors de la manipulation d'un curseur, il est assez complexe de définir une valeur précise en utilisant uniquement les actions de déplacement de la souris.

Par exemple, si nous indiquons un glissement de 100 pixels vers la droite sur les deux curseurs, nous pourrons déplacer le curseur vers la droite.

actions de glisser-déposer

Ceux-ci n'afficheront pas la même valeur, car ils n'ont pas la même configuration. (Valeur 67 pour le grand et 84 pour le petit).

2 curseurs avec une valeur différente
  • Quel est le problème ?

Si vous effectuez un test basé sur un déplacement de 100 pixels et que la valeur du curseur devient critique pour la réussite de votre test, vous devenez dépendant de l'implémentation du curseur.

Dans ce cas, Javascript est particulièrement adapté, car il permet de fixer une valeur directement sur l'élément du curseur en modifiant la valeur de sa variable interne.

Exemple :

Si vous définissez une valeur de 90 sur les deux curseurs,

action java

Les deux curseurs afficheront la même valeur malgré leur différence de taille et de mouvement.

2 curseurs avec la même valeur

Contrôle visuel

Vous pouvez modifier le style et donc la couleur des éléments que vous testez.

Pour ce faire, il suffit de modifier l'objet style :

style.backgroundColor="vert

action java

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

un curseur en vert

Un contrôle complexe intégré à la page

Dans certains cas où vous devez effectuer un contrôle complexe sur votre page, il est tout à fait possible de coder ce contrôle dans un code javascript chargé dans la page, puis d'appeler la fonction javascript dans votre test, en récupérant la valeur renvoyée pour effectuer un contrôle simple.

Il ne s'agit pas d'une situation optimale, car vous devrez peut-être gérer le code de développement incluant cette fonction et le code de production avec les risques qu'elle peut entraîner, mais cela peut conduire à des situations complexes à gérer.

Pour ce faire, il suffit de déclarer une fonction globale dans une balise SCRIPT de votre page :

<SCRIPT>function checkpage() { ....operations... if (condition) { return true; } else { return false; }}</SCRIPT>

Il suffit ensuite de l'appeler depuis votre éditeur Agilitest, en référençant une variable de retour, sur laquelle vous n'aurez plus qu'à effectuer un contrôle de valeur.

variable de retour

Vous avez encore besoin d'aide ?
Contacter le support

Utilisation de variables - AI

▶️ Vous pouvez trouver un tutoriel sur comment utiliser les variables sur notre canal Youtube.

La variabilisation d'un script permet d'en faciliter la maintenance , d'accéder plus facilement aux données consommées et de rendre le test plus dynamique. Toutes ces opérations variables sont gérées dans un onglet distinct dédié à la gestion des variables, situé en bas à gauche de l'écran principal et appelé onglet "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 orange 🟧 : 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 recouvrement).

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 codée 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 sur les biens

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 sur les biens

L'action de propriété 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é.

Les propriétés ATS apparaissent également dans la liste des propriétés, de même que les éléments de formatage (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 le texte "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 variable propriété.

texte propriété action

             2. Valeur de retour

Les variables non modifiables peuvent également être extraites de la valeur de retour d'un script pour être stockées en tant que variable indépendante.

Variabilisation des valeurs spéciales

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

Voici les principales fonctions pour y accéder :

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

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

  • Now : Retourne un caractère chaîne de caractère indiquant l'heure actuelle de l'ordinateur rejouant le test (ou du serveur d'intégration continue). Exemple: $now : 17:38:11
  • Today : Retourne un caractère chaîne de caractère indiquant le jour courant 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 caractère aléatoire indiquant le nombre de caractères souhaité et sa 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.

  • Character chaines de caractères
  • Expressions régulières
  • Date
  • Horaire
  • Numérique

Character 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 caractère est transformée, une page est affichée en fonction du type utilisé pour la gérer.

Exemple:

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

bouton de l'expr régulier

Cela permet d'afficher les entrées correspondant à 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 $dayet qu'on lui donne 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 de type "regex" pour récupérer le jour, le mois ou l'année.

variable de date

Transformation en heures

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 :

  • +: ajout
  • : 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 2e 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

Valeurs gelées

Les valeurs calculées sont des données calculées en temps réel. Elles se trouvent dans l'encart des valeurs spéciales.

Dans votre scénario de test, ces valeurs sont modifiables et recalculées à la demande ou entre chaque exécution d'une action.

Exemple :

La variable $now affichera toujours l'heure à laquelle la dernière action a été exécutée.

Toutefois, si vous souhaitez que certaines valeurs soient verrouillées une fois qu'elles sont calculées, ce qui signifie qu'elles ne changeront pas pendant l'exécution du script, c'est possible.

Pour ce faire, vous devez créer une variable et sélectionner "Valeur figée".

Soit vous décidez d'avoir une variable qui se recalcule elle-même et qui peut être insérée directement dans le script, comme un commentaire par exemple. Soit vous souhaitez conserver la même valeur tout au long du script, auquel cas vous devez créer une variable et la figer.

Exemple :

La variable $now affichera toujours l'heure à laquelle elle a été gelée, tout au long du script.

🔸Warning

Si vous appelez un script qui a une variable gelée vers un autre script, cette variable est réinitialisée au début du script et restera gelée avec les nouvelles données.

Cette fonction s'applique à tous les types de variables, bien qu'elle puisse ne pas être visible en fonction de la variable sélectionnée.

Évaluer : interpréter le code Java et Javascript

Un bouton "évaluer" permet d'interpréter le code Java et Javascript.

Cette fonction peut être utilisée à la fois sur les variables non éditables en récupérant la propriété correcte, et sur les variables éditables.

Lorsque vous choisissez d'évaluer une variable, vous avez le choix entre deux langages : Java et Javascript.

Vous pouvez saisir un code Java ou Javascript comme valeur.

L'interprétation du code Java et Javascript peut se faire avec une simple récupération de code, mais aussi avec des résultats de tests complexes.

Il est possible de définir des conditions en Java et en Javascript. Cela peut être fait avec des tests conditionnels, et les résultats de ces tests conditionnels peuvent être récupérés.

Pour ces évaluations de code, la notation Java ou Javascript doit être utilisée.

Exemples :

Code Java simple :

code java simple

Code Javascript simple :

code javascript simple

Interprétation des conditionnelles Fonctions Javascript :

if($var(var1) > 14){"ok";}else{"ko";}

Avec la variable $var1 qui peut être un texte ou un chiffre.

Si vous n'êtes pas sûr du code à saisir, vous pouvez demander à l'IA intégrée d'Agilitest.

Vous pouvez également exprimer votre demande à l'aide de la saisie vocale.

Pour ce faire, appuyez sur le microphone et maintenez-le enfoncé , puis exprimez vos besoins de manière claire et précise.

Agilitest et l'IA

Pour faciliter la conception et la 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

🔸 Avertissement

Il est important de préciser que l'intégration n'est pas intrusive et n'a pas accès à vos données personnelles ou à celles de votre entreprise.

Vous pouvez modifier le choix de l'utilisation de l'IA dans Agilitest directement à partir des paramètres de l'éditeur, en haut à gauche :

bouton de réglage

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

Paramètres de l'aide à l'IA

Pour accéder à cette fonction, il faut se rendre dans le menu des variables et cliquer sur le bouton "AIet cliquez sur le bouton " AI ".

Cela ouvrira une fenêtre de dialogue avec AI

fenêtre de dialogue

Cette fenêtre s'adapte selon que vous souhaitez transformer une phrase en expression régulière ou en variable de date

Dans le cas d'une expression régulière :

Une fois que vous avez saisi la valeur de votre variable, cliquez sur le bouton "AIsur le bouton " AI ".

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

langage naturel

L'IA génère l'expression régulière que vous devez entrer dans Agilitest pour extraire les données, ainsi qu'une explication de l'expression.

Réponse du chatgpt

Cette approche intuitive élimine les obstacles techniques et vous permet de vous concentrer sur votre travail de test, ce qui vous donne un niveau de confort plus élevé. Par exemple, demandez à l'IA d'obtenir :

  • Nom de la machine
  • La version de construction
  • La version Windows
  • Le nom de la machine après le deuxième tiret
  • Le format de la date
  • etc...

Exemple :

Si dans la phrase "Microsoft Windows 11 Professional, Nom de la machine : DT-W-PIERREH, version build : 22621"vous voulez extraire la version de Windows et la version Build, alors écrivez votre requête dans l'IA :

requête introduite dans le chatgpt

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

contribution de l'IA

🔸 Avertissement

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 en indices

Pour qu'une variable créée dans un script apparaisse également dans les sous-scripts, vous devez utiliser la fonction $var(script_path.script_name.variable_name) 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).

🔸 Avertissement

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 du tableau

Comment contrôler les données d'un tableau

Le titre est un peu complexe mais correspond à un cas que l'on rencontre souvent dans les tests automatisés de logiciels :

Vous souhaitez contrôler les valeurs d'une cellule située 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 du tableau Chrome, 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 du texte de la ligne TR contenant Chrome est la suivante :

Chrome Oui Oui Oui Oui Oui Oui Non Non

La valeur que vous souhaitez contrôler est le 5ème Oui.

Pour extraire la ligne qui correspond à Chromium sans prendre aucune des valeurs suivantes, votre locator ressemblera à ceci :

(?i)Chromium\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)

(?i) indique que le contrôle doit être insensible à la casse

\s correspond à un espace

(.*) correspond à n'importe quel type de texte, en l'insérant avec des \s, il correspond au texte avant un espace, le comportement "gourmand" des expressions régulières va alors essayer de faire 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(.*)

Le groupe correspondant est le 6e

Retrouver la valeur pour android

Il suffit alors d'effectuer un contrôle de valeur :

Contrôle final

Plusieurs commentaires sur cette astuce :

Tout d'abord, 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 souhaitez 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 doivent être prises : 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 en finir avec cet exemple, vous pouvez utiliser une action "Vérifier les valeurs" pour contrôler toute la ligne Chromium en une seule fois. Vous contrôlez tout 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

Chèques

L'objectif des tests de logiciels, outre la conformité aux procédures d'exécution, est de pouvoir contrôler que le logiciel est conforme au comportement attendu.

Nous allons voir quelles sont les fonctions d'Agilitest qui permettent d'effectuer des contrôles ou des assertions dans vos tests de logiciels.

Tout passe par la fonction"Check".

action de contrôle

Cette action se décline en trois sous-fonctions :

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

Lesfonctions "Vérifier les propriétés" et"Vérifier les valeurs" fonctionnent de la même manière. La seule différence est que dans un cas, nous vérifierons les propriétés d'un élément de l'interface utilisateur et dans l'autre, les valeurs d'une variable.

L'option "Vérifier les occurrences" permet de contrôler le nombre d'éléments pris en compte dans la page affichée du logiciel testé.

Vérifier les propriétés

Cette fonction prend en entrée un élément d'interface qui devra être capturé.

Exemple :

vérifier l'action de la propriété

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

Sa propriété "text" est vérifiée pour s'assurer qu'elle est égale à 4.

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

Vérifier les valeurs

L'opération est identique à l'action"Vérifier les propriétés" décrite ci-dessus. Cependant, cette fonction prend en entrée une variable qui peut être modifiable ou non.

Vérifier les occurrences

Le contrôle d'occurrence vérifie le nombre d'éléments trouvés sur la page actuelle à l'aide d'un locator Agilitest, c'est-à-dire un élément ciblé.

Dans certains cas, il peut être utile de définir des"localisateurs" qui peuvent correspondre à plusieurs éléments. Cela peut être utilisé, par exemple, pour contrôler le nombre de lignes ou de colonnes d'un tableau.

L'action"Vérifier les occurrences" est également très utile pour ajouter de la robustesse à vos tests.

vérifier les occurrences

Vérifier les occurrences et la reconnaissance graphique

Le contrôle 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.

Cela diffère d'un contrôle basé sur la structure du logiciel, par exemple le DOM, pour lequel même les éléments non affichés seront comptés.

Vous pouvez également combiner le contrôle des occurrences et la reconnaissance graphique pour déterminer quand vous pourrez poursuivre votre test.

Vous avez encore besoin d'aide ?
Contacter le support

Expressions régulières

▶️ Vous pouvez trouver notre tutoriel sur les expressions régulières sur notre canal Youtube.

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

Commence par = ^expression.*

Terminer par: .*expression$

Container:.expression.

Exemple :

Vous voulez voir apparaître 4 valeurs numériques :

.\d\d\d\d.**

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 menu menu de gestion descanal .

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 des attributs sont très volatiles, mais qui conservent une structure constante dans le temps : un préfixe ou un suffixe identique, un nombre 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

L'IA : 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 l'IA 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 AI 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, il faut se rendre dans le menu des variables et cliquer sur le bouton "AIet cliquez sur le bouton " AI ".

bouton chatgpt

Une fenêtre de dialogue s'ouvre alors.

boîte de chatgpt

Cette fenêtre s'adapte selon que 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 "AIsur le bouton " AI ".

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 à l'IA d'obtenir :

  • Nom de la machine
  • La version de construction
  • La version Windows
  • Le nom de la machine après le deuxième tiret
  • Le format de la date
  • etc...

Exemple :

Si dans la phrase "Microsoft Windows 11 Professional, Nom de la machine : DT-W-PIERREH, version build : 22621"vous voulez extraire la version de Windows et la version Build, alors écrivez votre requête :

chatgpt chat box

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

regex de chatgpt dans Agilitest

🔸 Avertissement

Même si l'intégration de l'intelligence artificielle n'est pas intrusive, ne saisissez pas de données personnelles ou d'entreprise dans la barre de recherche de l'IA. L'IA ne traitera pas les informations liées à votre licence Agilitest, mais elle traitera toutes les informations que vous lui donnerez dans une saisie de texte. Ne lui faites pas traiter vos mots de passe, par exemple.

Vous avez encore besoin d'aide ?
Contacter le support

Reconnaissance graphique

Reconnaissance des zones graphiques

Agilitest utilise la reconnaissance des zones graphiques de deux manières :

  • Pour effectuer des actions telles que cliquer, saisir du texte, etc. sur des zones reconnues.
  • Effectuer des contrôles de reconnaissance graphique sur les éléments avec l'action de vérification.

La reconnaissance graphique est effectuée lorsque le mode"Capture" est ouvert.

Pour ce faire, cliquez sur le bouton "Capturer"sous l'explorateur de projet.

bouton de capture

Une fois la fenêtre de capture ouverte, vous pouvez capturer un élément graphique à l'aide de la sélection de la souris.

Maintenez le clic gauche de votre souris enfoncé et définissez la zone que vous souhaitez capturer,

capture d'un élément graphique

Déposez votre élément dans l'éditeur pour afficher l'élément capturé.

élément graphique dans l'éditeur

Trois options sont disponibles :

  • Ouvrez l'arbre des éléments pour générer un "Locator", c'est-à-dire un élément ciblé.
  • Copier l'image dans le presse-papiers
  • Enregistrer l'image sur votre ordinateur
3 options

Arbre des éléments

Lorsque vous cliquez sur"Arbre des éléments", Agilitest affiche la structure du logiciel, ou DOM, jusqu'au plus petit élément qui contient entièrement l'image sélectionnée.

éléments de l'image capturée arbre

Cette opération assure une identification unique de votre image, qui peut être imprimée à plusieurs endroits dans votre logiciel.

💡 Conseil

Il est préférable de sélectionner un ou plusieurs attributs dans l'arbre des éléments. Sinon, vous risquez de vous retrouver avec une image présente à plusieurs endroits dans votre application, comme le montre l'outil"Statistiques".

sélection d'attributs

Lorsque les éléments et attributs parents de votre objet graphique sont sélectionnés, un "Locator"supplémentaire est généré. Il suffit de glisser-déposer votre élément dans une nouvelle action de l'éditeur Agilitest.

Après avoir déposé votre élément dans l'éditeur, une nouvelle action est générée et affichée.

action avec élément graphique

Cette action contient un lien vers une image enregistrée dans les ressources de votre projet, accessibles depuis la vue "Fichiers de ressources" de l'explorateur.

Vue des fichiers de ressources

Menu de reconnaissance d'images

menu reconnaissance d'image

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

  • Utilisation d'un locator qui n'est pas unique pour identifier les occurrences, sélection de l'image par un index d'une manière unique.
  • Vous pouvez influencer la tolérance de reconnaissance graphique et l'algorithme utilisé. Pour l'instant, seul l'algorithme ATS est disponible et nous vous recommandons de conserver la tolérance par défaut (0,5%).

Affirmations graphiques

Les contrôles d'occurrence vous permettront d'ajouter des contrôles sur la présence d'éléments graphiques dans vos applications, de les compter, de générer des délais d'attente, etc, en plaçant simplement l'élément graphique dans une action"Contrôle d'occurrence".

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

occurrences action

Cependant, Agilitest contrôlera les images qui sont réellement affichées sur la page (contrairement à une approche DOM, qui peut potentiellement tracer des objets non affichés).

Dans ce cas, vous devez veiller à ce que la fenêtre soit correctement dimensionnée et affichée pour permettre une reconnaissance complète des éléments.

Vous avez encore besoin d'aide ?
Contacter le support

Pilotes web

L'ATS récupérera la version correcte du driver en fonction de la version du navigateur récupérée lors du test. En fonction de la version du navigateur, l'ATS téléchargera automatiquement la version correcte du driver . Il n'est pas nécessaire de configurer les versions manuellement.

Pourquoi Agilitest a-t-il besoin de pilotes Web ?

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

En effet, sans configuration supplémentaire, Agilitest supporte actuellement 5 navigateurs :

  • Chrome
  • Firefox
  • MSEdge
  • Brave

La philosophie d'Agilitest est de fournir un support aussi rapide que possible pour les dernières versions des navigateurs, et c'est pourquoi les pilotes web sont utilisés pour communiquer avec les navigateurs. Cela permet un support très rapide dès que les pilotes Selenium sur lesquels nous nous appuyons sont mis à jour vers ces dernières versions.

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

  • Si vous mettez à jour votre navigateur, cela ne devrait pas avoir d'impact sur l'opération.
  • Si vous ne le mettez pas à jour, il est souvent possible que le driver le plus récent offre une rétrocompatibilité avec les versions antérieures du navigateur et, dans la plupart des cas, cela fonctionne bien.

Configurer une version spécifique d'un Driver

L'ajout de nouvelles versions de navigateurs à Agilitest nécessite la configuration de l'éditeur dans le fichier .atsProperties

Pour configurer un nouveau navigateur, insérez les lignes suivantes dans votre fichier .atsProperties :

<browser>
<name>chromium</name>
<driver>chromiumdriver</driver>
<path>D:\tools\chromium\chrome.exe</path>
</browser>

Le badge nominatif vous permet de nommer le navigateur tel qu'il sera imprimé dans Agilitest. Un certain nombre de noms sont réservés car nous nous adaptons aux spécificités de chaque navigateur : chrome, firefox, etc... Vous ne pourrez donc modifier le driver et le chemin d'accès à l'exécutable que pour un navigateur déjà connu d'Agilitest.

Le driver indique à Agilitest le nom du driver .exe à charger, qui se trouve dans le répertoire user/.actiontestscript/drivers/directory.

Vous pouvez accéder à toutes les versions des driver web par système via ce lien :ats

La balise path indique le chemin d'accès à l'exécutable du navigateur.

Par exemple, si vous souhaitez utiliser Firefox 60 ESR, la procédure est la suivante :

  • Téléchargez et installez Firefox 60 ESR dans un répertoire différent de votre installation de Firefox.
  • Complétez les lignes suivantes dans votre fichier .atsProperties :
<browser>
<name>firefox</name>
<path>D:\tools\firefox60ESR\firefox.exe</path>
</browser>

Dans le cas de Firefox, le driver utilisé devrait être compatible avec la dernière version et la version ESR, il n'est donc pas nécessaire de modifier le driver .

Pour spécifier le chemin d'accès à MSEdge, vous pouvez utiliser les lignes suivantes :

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

Message d'erreur associé :

message d'erreur

Pour corriger cette erreur, il suffit de configurer manuellement le fichier de configuration de ATS .

Il est possible d'y accéder directement à partir de l'éditeur via le menu "Paramètres"dans le coin supérieur droit de l'éditeur.

bouton de réglage

Cliquez ensuite sur le bouton "Modifier la configuration".

bouton d'édition de la configuration

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

éditeur de fichiers

Il vous suffit de définir le chemin d'accès spécifiquement mis en place sur votre système pour accéder aux fichiers d'exécution des navigateurs cibles.

Vous avez encore besoin d'aide ?
Contacter le support

Sélection de fichiers par les navigateurs

Lors de l'exécution de scénarios commerciaux impliquant des solutions web, un cas se présente fréquemment : les interactions avec le système d'exploitation, et en particulier la sélection de fichiers pour les télécharger sur le serveur web (nous parlons ici de téléchargement).

Cette fonctionnalité est en effet implémentée par tous les outils gérant des données d'entreprise : ERP, GED, PLM, CRM...

La fonction de téléchargement est implémentée nativement dans tous les navigateurs car ils doivent respecter la norme HTTP qui spécifie la manière dont ce transfert de fichier 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 pose deux types de problèmes lors de l'automatisation de cette procédure dans un test

  • Problème 1: Le logiciel de test doit pouvoir s'interfacer avec la partie "bureau" du navigateur. Dans ce cas, s'appuyer sur la page HTML et le DOM ne suffit pas, il faut soit récupérer et reconnaître la structure interne des composants et des contrôles des navigateurs, soit utiliser la reconnaissance graphique.

  • Problème 2: La "sélection de fichiers" peut varier fortement d'un navigateur à l'autre, ce qui nécessite des adaptations en fonction du navigateur utilisé.

Solution au problème 1

Agilitest est une solution multicanal

Agilitest est une solution de test intégrée qui prend en charge l'utilisation de différentes technologies d'application (web, desktop...) au sein d'un même test.

L'outil de capture d'Agilitest permet de basculer entre DOM et Desktop.

  • Le problème 1 est facilement résolu par Agilitest :

Dans votre exécution du test, passez à l'étape du téléchargement.

Lorsque la fenêtre de sélection des fichiers s'ouvre, ouvrez l'outil de capture.

Pour ce faire, cliquez sur l'outil de capture dans l'éditeur.

outil de capture

Appuyez ensuite sur la touche "ALT"de votre clavier ou cliquez sur le bouton correspondant pour passer du mode de reconnaissance des composants DOM au mode de reconnaissance des composants desktop. mode de reconnaissance des composants du bureau.

mode système

Vous pourrez ensuite naviguer dans la fenêtre de sélection des fichiers.

💡 Conseil

Pour plus de robustesse, nous vous conseillons de placer un fichier dans une arborescence facilement accessible de votre système de fichiers que vous pourrez reproduire partout, par exemple en "accès rapide" sous l'explorateur Windows.

Solution auproblème 2

Agilitest sait comment gérer le comportement spécifique des navigateurs

Le problème 2 peut être résolu à l'aide de fichiers de données (CSV) appelés sous-scripts dans Agilitest :

Les sous-scripts établis via un fichier de données (CSV) doivent respecter la combinaison suivante :

  1. Appeler un premier sous-script alimenté par le paramètre "browser" dans la colonne du fichier CSV.
  2. Récupérer les noms des navigateurs pour itérer le lancement du même test sur plusieurs navigateurs.
  3. Appeler les sous-scripts suivants dont le nom de script est composé à partir du paramètre "browser" du premier sous-script.

Exemple :

Utilisez le nom du navigateur pour personnaliser le nom du script exécuté : script_chromeats, script_firefoxats, etc...

La solution proposée permet de gérer les différences de comportement des navigateurs. Cependant, nous ne recommandons pas de l'utiliser pour les opérations suivantes, qui sont gérées directement par Agilitest pour tous les navigateurs :

  • Naviguer vers une URL, vers la page précédente, vers la page suivante, vers la page d'accueil...
  • Fermer la fenêtre
  • Changement d'onglet

Cela rendrait vos tests non génériques, ce qui n'est pas souhaitable.


Vous avez encore besoin d'aide ?
Contacter le support

Gestion des exécutions - TestNG

Il est possible d'utiliser un mode d'exécution compilé en Java en dehors du mode d'exécution et d'édition spécifique de l'éditeur Agilitest. Ce mode d'exécution compilé Java est plus rapide et destiné à être utilisé pour un test ou un groupe de tests dans un projet.

Ce mode de construction se trouve sur la page de gestion des exécutions.

Gérer l'exécution des projets

L'accès à la gestion des exécutions se fait via l'explorateur de projets.

Cliquez sur le menu puis sélectionnez "Gestion des exécutions".

gestion des exécutions

Agilitest ouvrira un onglet avec différentes parties :

page de gestion des exécutions
  • Project Builder (1): Permet de configurer, de générer, d'exécuter et éventuellement de produire et d'ouvrir les rapports correspondant aux exécutions.
  • Lignes de commande (2): Vous pouvez utiliser la ligne de commande pour lancer l'exécution d'ATS à partir d'une commande Windows. Cette commande doit être exécutée à la racine du projet ATS . Vous pouvez copier ces éléments dans un fichier .bat ou .ps1 pour lancer toutes les exécutions que vous avez configurées sans passer par Agilitest.
  • Exécutions (3): Ce menu permet de configurer les exécutions de TestNG, leurs variables et leurs scripts.

Qu'est-ce qu'une exécution TestNG ?

Toutes les exécutions ATS conçues par Agilitest sont exécutées sous Java. TestNG est un framework qui a été créé pour permettre l'exécution de ces tests en Java.

Les exécutions TestNG, aussi appelées"Suites", sont des exécutions créées dans Agilitest à partir d'un ensemble de scripts et de paramètres. Ces exécutions peuvent être exécutées par Agilitest, mais elles sont également exportables vers des environnements compatibles avec TestNG qui peuvent rejouer les tests sans nécessiter de configurations complexes, comme Jenkins et ses Jobs.

Comment créer une exécution

Une exécution correspond à la définition d'un sous-ensemble de tests de projet, c'est-à-dire de scripts, que vous pouvez rejouer en une seule exécution.

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

bouton d'ajout

Comme mentionné ci-dessus, une Suite doit être composée de plusieurs scripts.

Pour ajouter des scripts, sélectionnez votre Suite puis cliquez sur "Importer des scripts"dans la boîte dédiée.

bouton d'importation de scripts

Vous pouvez également glisser-déposer des scripts à partir de l'explorateur de projets.

Sélectionner les paquets

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

Indiquez quels répertoires doivent être utilisés pour récupérer les scripts, et ceux qui ne le sont pas.

ajouter une page de paquets

Il n'est pas nécessaire que les fichiers aient été ajoutés à l'onglet script.

Paramètres d'exécution

Une fois votre exécution créée, vous pouvez lui attribuer des paramètres d'exécution qui affectent le niveau de détail des rapports générés.

Pour configurer ces paramètres, cliquez sur le " crayon " bleu.Crayon"bleu sur la ligne de votre exécution.

bouton crayon

Un ensemble d'options permet de définir la qualité des rapports produits lors du lancement de l'exécution :

Niveau d'enregistrement

niveau des journaux

Les différents niveaux d'enregistrement sont les suivants :

  • Silencieux
  • Erreur
  • Info
  • Avertissement
  • Tous

Ils sont classés par ordre décroissant de détail.

Générer des rapports

Cochez la case "Générer des rapports"pour les générer à la fin de l'exécution.

activer les rapports

  • Rapport visuel

Pour le rapport visuel, vous devez spécifier la qualité des Rapports vidéo ATSV que vous allez générer.

Les différentes options sont les suivantes :

rapport visuel
  • Taille : Pour optimiser la taille du fichier ATSV
  • Vitesse : pour optimiser la vitesse d'exécution du test
  • Qualité : Pour optimiser la qualité des images
  • Qualité maximale : Pour optimiser la qualité des images au maximum

  • Rapport XML

Un rapport au format XML peut être généré et travaillé avec une solution BI (Jasper, Talend, etc...).

Variables d'exécution

Les variables d'exécution sont des variables que vous définissez dans le menu de gestion des exécutions et qui apparaîtront comme variables d'environnement dans tous les tests appartenant au même projet.

variables d'exécution

Vous trouverez les variables d'environnement dans le menu des valeurs spéciales.

variable environnementale

Or with the command: $env(<Valeur_Variable>)

variable d'environnement dans une action

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

Les variables d'environnement peuvent être surchargées pendant l'exécution, soit sur la ligne de commande, soit avec le système utilisé pour lancer les exécutions (Jenkins, GITLAB CI, AzurDevops).

Sélection des groupes

Les groupes de test vous permettent de filtrer les scripts que vous exécutez en fonction des groupes auxquels ils sont associés.

Les gestion des groupes accessible depuis l'explorateur de projets, permet de créer, gérer et supprimer des groupes.

bouton de gestion des groupes

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

Il existe deux façons de filtrer les groupes :

  • En incluant: Tous les scripts appartenant à ce groupe sont exécutés.
  • Par Exclusion: Tous les scripts sont exécutés à l'exception de ceux qui appartiennent à un groupe sélectionné.

Lancer une exécution avec Agilitest

Une fois votre exécution créée, assurez-vous qu'elle est sélectionnée, comme l'indique la coche sur votre ligne Suite.

suite sélectionnée

Vous pouvez également sélectionner plusieurs suites à exécuter l'une après l'autre.

Plusieurs suites peuvent également être exécutées à l'aide de Job Jenkins.

Pour lancer l'exécution de votre Suite, vous devez suivre les étapes ci-dessous, dans l'ordre :

lancement d'une exécution
  1. Générer : Cette fonction génère les fichiers Java correspondant aux tests ATS sélectionnés.
  2. Compiler: Cette fonction permet de compiler les fichiers Java correspondant aux tests ATS sélectionnés.
  3. Exécuter: Agilitest ouvrira une console et rejouera tous les tests sélectionnés dans l'exécution.

Il y a deux options facultatives à ajouter avant de lancer l'exécution de Suite (étape 3) :

paramètre d'exécution
  • Ouvrir les scripts qui ont échoué: À la fin de l'exécution, cette option permet d'ouvrir tous les scripts qui n'ont pas abouti.
  • Générer des rapports: A la fin de votre exécution, votre rapport Suite sera généré, et pourra également être ouvert si vous cochez l'option suivante. Vous pouvez choisir *Niveau de détail du rapport une fois que cette option a été cochée.

💡 Conseil

Cette console ne doit être utilisée que pour la vérification "rapide" des scripts dans Agilitest. Pour des lancements de scripts plus longs, il est préférable d'utiliser un terminal Windows ou le raccourci "CMD" que vous pouvez créer dans l'onglet de gestion des exécutions.

bouton de raccourci

Format Webp

Par défaut, toutes vos listes de lecture seront exécutées au format Webp.

Vous pouvez modifier cela à partir de la gestion des exécutions, dans les paramètres d'une Playlist.

Il suffit de découper l'option.

💡 Conseil

Le format Webp est utilisé pour les rapports moins volumineux.

Exécuter un script à partir d'Agilitest

Il est important de se rappeler que les scripts d'un projet peuvent appartenir à une playlist. Si cette playlist a des paramètres, tous les scripts inclus dans cette liste auront les mêmes paramètres.

Il est possible d'exécuter un script à l'aide de lignes de commande sans tenir compte des paramètres de la playlist , c'est-à-dire une exécution sans suite.

Dans l'explorateur de projet, cliquez avec le bouton droit de la souris sur un script > Exécuter le script > Copier la ligne de commande

Vous avez encore besoin d'aide ?
Contacter le support

En-têtes de scripts

Outre les tests et contrôles à effectuer, le format ATS permet de définir un ensemble de méta-données très utiles pour caractériser l'ensemble de vos tests.

Ouvrir l'en-tête du script

Pour accéder à l'en-tête du script, cliquez sur l'icône "Données d'en-tête de script"en haut à droite de la fenêtre de l'éditeur de script.

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

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

sous-menu de l'en-tête

Actions

actions

Vous revenez à l'affichage de l'éditeur d'actions de test. Par défaut, cette possibilité n'est pas activée.

En-tête

action de l'en-tête

Pour vous permettre d'accéder aux informations de l'en-tête du script :

fenêtre d'information

Les éléments suivants sont affichés :

  • Auteur: La personne ou le groupe qui a réalisé le test.
  • Description: Définition du contenu du test. Ce champ accepte le code HTML. Vous pouvez également ajouter un ensemble de métadonnées qui seront reproduites telles quelles dans le script ATS : numéros d'exigences, etc.
  • Prérequis: Quels sont les liens avec d'autres dossiers, ou la disponibilité des environnements, etc.
  • Groupes: Les groupes auxquels le test est affilié.

Code ATS

code ats

En cliquant surATS CodeATS ", le code ATS brut correspondant au test en cours d'édition s'affiche.

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

onglet code ats

🔸 Avertissement

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

Lorsque vous recevez un e-mail ou un fichier contenant le code ATS , la procédure pour l'importer dans Agilitest est la suivante :

  • Créer un nouveau script vide
  • Sélectionnez le code ATS dans votre éditeur de courrier électronique, votre bloc-notes, etc.
  • Déposez le code directement dans la fenêtre vide de l'éditeur Agilitest.
  • Agilitest lira le code et régénérera les actions correspondantes.
  • Cliquez ensuite sur Exécuter

Il est également possible de glisser/déposer ou de copier/coller des lignes de code directement dans l'éditeur Agilitest. Soit directement dans un script, ce qui ajoutera les nouvelles actions correspondant au code, soit dans un répertoire, ce qui créera un nouveau script.

Cela fonctionne également avec du texte. Si vous prenez un texte quelconque (un paragraphe d'un article web, par exemple), vous pouvez le glisser-déposer dans l'éditeur Agilitest, qui le traduira en une action de commentaire. Cette action peut être utilisée pour structurer un test ou pour vérifier le texte, par exemple.

Code Java

code java

En cliquant sur " CodeJava ", le code Java généré pendant l'exécution du test s'affiche.

Il est évident que les fichiers Java correspondant aux fichiers de test ATS ne peuvent pas être modifiés directement.

Fermer

bouton de fermeture

Ce bouton ferme complètement le script. Il le sauvegarde s'il n'a pas été sauvegardé.

Vous avez encore besoin d'aide ?
Contacter le support

Menu Réglages

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 paquets 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"Paramètres".

bouton "paramètres" dans l'éditeur

Cliquez sur l'onglet "Paramètres"pour ouvrir la fenêtre dans l'éditeur

Page des paramètres

Paramètres d'agilité

Rapport d'erreur

Vous pouvez activer les rapports d'erreur (ou journaux) en cochant la case"Rapports d'erreur".

rapport d'erreur

Trois options d'enregistrement sont disponibles :

  • Les journaux de démarrage, au cas où Agilitest se bloquerait au lancement.

Ensuite, les journaux d'exécution des tests afficheront les erreurs techniques (liées à un driver, et non les erreurs fonctionnelles) :

  • Pour ouvrir les journaux actuels, vides par défaut, qui affichent les derniers journaux créés
  • Pour ouvrir le répertoire des journaux 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 y a deux conditions préalables au bon fonctionnement d'Agilitest : le paquet ATS et le JDK.

Paramètres ATS

Agilitest nécessite une bibliothèque ATS à jour pour fonctionner.

Réglages de ats

À partir de ces configurations, vous pouvez :

  • Créer une configuration: Cette option crée une configuration globale de l'ATS dans le système. En cliquant dessus, vous pouvez modifier la configuration.
  • Télécharger les composants ATS
  • Télécharger ATS
  • Créer une configuration Neoload
  • Ouvrir un répertoire Maven
  • Ouvrir un répertoire ATS

Comment mettre en place l'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 l'ATS , cliquez sur le bouton "modifier la configuration"des paramètres de l'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 canal.
chemin d'accès aux applications windows

Vous trouverez l'application enregistrée dans les propriétés directement dans les applications lorsque vous ouvrirez un canal

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/6091037db25653a59aa30cfc_image-51.png

🔸 Avertissement

Les chemins d'accès devront être adaptés en fonction de votre configuration.

Paramètres 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

🔸 Avertissement

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 de stations mobiles ATS

Il est possible de configurer un serveur ATS Mobile Station pour qu'il se connecte automatiquement au serveur de configuration 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.

serveurs de stations mobiles ats

Vous pouvez consulter notre documentation sur les tests mobiles.

Comptes GIT

Le compte Git dans Agilitest permet de cloner un compte Git existant et donc d'utiliser un projet Git.

Cliquez sur le bouton "Ajouter"pour ajouter un compte

Comptes Git

Saisissez ensuite les informations relatives à votre compte Git.

Entrée dans le compte Git

Vous avez encore besoin d'aide ?
Contacter le support

Outil de capture

▶️ Vous pouvez trouver notre tutoriel sur l'outil de capture sur notre canal Youtube.

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 en tant que 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, afin de mettre en place des règles de détection adaptées aux attributs pertinents.

L'outil de capture permet de survoler les éléments de l'interface graphique de votre site web, mobile, bureau, 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 structure des différents composants de la page.

Le DOM peut être considéré 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 HTML :

  • Opening tag <>, closing tag </>
  • É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 menu de gestion des canal menu de gestion ducanal .

icône de l'outil de capture dans l'éditeur

Le filtre de capture est symbolisé par un motif en 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 de l'activation de l'outil de capture 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 modèle correspond à la taille initiale du canal qui est définie dans sa configuration ATS . Si le canal est redimensionné manuellement, la synchronisation avec le canal fonctionne parfois et le filtre correspond à la taille modifiée du canal . Cependant, dans d'autres cas, le filtre ne correspondra pas à la taille du canal car il ne sera pas synchronisé avec ledriver canal . Il sera donc nécessaire de fermer le canal et de l'ouvrir à nouveau pour que le driver se synchronise à nouveau.

Utilisation de la capture

L'outil de capture d'Agilitest consiste en 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 infobulle 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. Il n'est pas nécessaire de cliquer sur la souris, il suffit d'appuyer sur la touche CTRL.

La fenêtre"Parents de l'élément capturé" s'affiche et indique le chemin depuis la racine de l'application jusqu'à l'élément qui vient d'être ciblé.

fenêtre parentale 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 vous souhaitez 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 reconnaîtront 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 bureautiques.

Agilitest ne propose que les attributs qu'il trouve. Cela signifie qu'il n'invente pas d'identifiants, il les prend dans le DOM.

Si aucun identifiant n'est 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'identifiant, peut-être à cause du développement Agile ou par manque de temps. Vous pouvez donc leur remettre un rapport sur votre test et leur dire s'il manque des identifiants. En tant qu'QA, votre rôle est également d'auditer les bonnes pratiques et la qualité au sens large. En tant que testeur fonctionnel, il est plus logique 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. Inversement, si vous utilisez des cadres de développement, certains cadres n'ont pas de "bonnes pratiques" respectées et n'ont donc pas d'identifiant.

Avertissement concernant les attributs "texte

Dans le contexte de l'automatisation classique des tests, il n'est pas forcément bon d'utiliser l'attribut text, mais s'il n'est pas possible de faire autrement ou si votre texte ne change pas, ce n'est pas un problème.

Voici quelques raisons pour lesquelles l'attribut "text" peut poser problème :

  • La reconnaissance de l'élément ne fonctionne plus dans le contexte multilingue de votre solution.
  • Certains navigateurs sont sensibles à la casse (et d'autres non), de sorte qu'une lettre majuscule tend à réduire la robustesse et la portabilité de votre test.
  • Le traitement des sauts de ligne et/ou des espaces peut varier d'un navigateur à l'autre.

Une fois que vous avez sélectionné l'attribut "texte", vous pouvez cliquer dessus pour modifier automatiquement les valeurs à l'aide d'expressions régulières utiles pour éviter ces derniers problèmes.

ShadowDom

Le Shadow DOM (Shadow Document Object Model) est utilisé pour éviter les conflits de style et pour isoler le code des composants, ce qui est particulièrement utile lors du développement d'une interface utilisateur complexe. Agilitest utilise le ShadowRoot, qui est un composant de la technologie ShadowDom, lors de ses recherches d'éléments afin d'affiner ces recherches et de rendre vos scripts plus précis.

a capturé les parents de l'élément avec shadowRoot

Agilitest détecte automatiquement la capture d'un élément de type ShadowRoot dans la fenêtre de capture. Vous pourrez reconnaître ces éléments grâce à leurs pictogrammes et à leur cadre en pointillés.

Les composants ShadowRoot qui composent l'élément capturé apparaîtront dans l'élément d'interface de l'action.

Composants de ShadowRoot

Vous aurez également la possibilité de gérer vos éléments et de déclarer ceux de ShadowRoot directement dans l'éditeur d'actions.

ShadowRoot a déclaré

Identifier les éléments d'iFrames

Certaines pages HTML incluent des iFrames (c'est-à-dire des cadres en ligne) dans leur conception, notamment pour insérer dans la page des éléments provenant d'un autre serveur.

Pour trouver des éléments sur ces pages HTML, vous devrez sélectionner chaque iFrame dans le DOM de la page, sinon vous ne pourrez pas trouver les enfants de cette IFRAME sur la page.

Exemple :

Sélectionner l'iFrame qui vous permet de le reconnaître. qui vous permet de le reconnaître.

Attributs de l'iframe

Sélectionnez les attributs des enfants que vous souhaitez retrouver automatiquement dans cette iFrame.

attributs des enfants

L'objet est alors facilement reconnaissable.

Fonctions avancées du 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 permettent 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é en fonction de 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. Multiples occurrences : Un avertissement apparaîtra pour indiquer la présence d'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 le composant.

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 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 retours à la 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 que la seconde partie "01" l'est également. Nous supposons que la première partie "btn" est fixe et que la seconde partie "01" l'est également, seule la partie centrale est susceptible de varier.

Nous pouvons ensuite 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 difficulté supplémentaire, mais leur utilisation permet de traiter simplement les cas les plus délicats. La difficulté liée aux expressions régulières est donc un moindre mal.

Lorsque vous cliquez sur le texte d'un attribut, la fenêtre d'insertion s'ouvre et permet de définir des expressions régulières.

boutons pour les expressions rationnelles

Accès à deux boutons pour :

  • Gérer le dossier
  • 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 (retours à la ligne, espaces, etc.)

.* : Pour former n'importe quelle 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 parente de l'élément capturé permet d'utiliser cette règle de détection dans l'élément d'une action Agilitest.

Le glisser-déposer peut être placé après les dernières lignes du test, ce qui créera une action,

Créer une action avec l'élément capturé

Soit à l'intérieur d'une ligne d'action existante dans la section"Élément d'interface".

glisser dans un élément d'interface vide

Une fois que l'élément a été inséré dans une action de votre script, vous pouvez le mettre en surbrillance dans votre application pour voir exactement à quel objet il correspond.

Pour ce faire, lorsque votre canal est ouvert, cliquez sur le bouton avec l'icône de la loupe. icône de la loupe pour mettre en évidence l'élément dans votre application.

Recherche d'un élément par son index

Lorsqu'un locator permet de trouver plusieurs éléments, il est possible de spécifier par un index celui que l'on veut manipuler.

Exemple : Dans un tableau où le nombre de lignes est représenté par l'élément "TR", si vous spécifiez l'index #2 dans cet élément contenant plusieurs occurrences, alors c'est le texte de la deuxième ligne du tableau qui sera récupéré.

Dans l'éditeur, remplissez l'index d'un élément multiple en cliquant sur l'icône Lego.

Bouton Lego

Ensuite, à droite de l'élément, vous verrez un # et deux contrôles haut/bas qui identifient par un index l'élément défini par votre locator.

index

En validant, Agilitest vous permet de récupérer des attributs spécifiques d'un élément identifié par son index.

Reconnaissance graphique des éléments

La reconnaissance graphique est possible avec Agilitest, elle permet de détecter la présence d'un élément sur l'application et de compter le nombre d'occurrences (format PCRE). Bien qu'il ne soit pas souhaitable d'abandonner le système de capture d'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'identifiant 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 cadre de programmation qui n'est pas coopératif avec Agilitest.

Pour utiliser la reconnaissance graphique, ouvrez l'outil de capture. Au lieu de se positionner sur un composant et d'appuyer sur la touche CTRL, pour effectuer une capture graphique, il faut sélectionner la zone à capturer.

En utilisant la souris, maintenez le clic gauche enfoncé pour sélectionner la zone à capturer

capturer la reconnaissance d'éléments graphiques

La sélection prendra une capture d'image de l'élément avec 3 boutons disponibles :

  • Arbre à éléments
  • Copie
  • Économiser
éléments graphiques boutons

Cliquez sur"Elements Tree" pour associer l'emplacement à la capture graphique puis glissez 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ù le locator ne peut pas être utilisé puisqu'il n'est basé que sur des attributs.

Exemple :

Lorsque vous souhaitez cliquer sur une zone précise d'une image où le dernier élément visible par le locator capturerait une zone plus grande que souhaitée.

Comme une image web d'une carte sur laquelle vous voulez cliquer sur une ville plutôt que sur 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électionner le composant de référence

Commencez par sélectionner le locator standard, soit par ses attributs, soit par sa reconnaissance graphique.

élément de capture
  1. Cibler le point d'action

Une fois le locator sélectionné, cliquez sur le bouton "Cibler l'emplacement".

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 "glisser-déposer".

bouton glisser-déposer

Une fois que vous avez déposé votre locator dans l'éditeur, Agilitest génère une action avec des coordonnées cartésiennes.

action cible dans l'éditeur

Grâce à cette fonctionnalité, vous pourrez générer un locator à partir du composant select.

Problème éventuel avec un élément qui déborde

Afin de ne pas être intrusif avec le logiciel testé, Agilitest ne déploiera pas de plugin sur les navigateurs, ce qui signifie qu'il apparaîtra en surimpression sur les fenêtres de l'application testée.

Dans certains cas, cela peut entraîner des retards d'affichage entre les deux applications, en particulier lorsque des boîtes de sélection de composants sont affichées.

Si, en mode capture, Agilitest n'est pas parfaitement aligné sur la page sur laquelle vous voulez capturer des éléments,

Ensuite, vérifiez que votre système Windows n'a pas modifié automatiquement la taille des textes, applications et autres éléments affichés sur chacun de vos écrans. Ce paramètre doit être fixé à 100% pour que l'outil de capture Agilitest fonctionne correctement.

Pour ouvrir le menu d'affichage, faites un clic droit sur l'interface de votre bureau et sélectionnez "Paramètres d'affichage".

exemple

Définir le texte à 100 %.

L'intérêt d'un tel outil

Utiliser le code source d'une autre manière

L'outil de capture Agilitest présente des intérêts par rapport 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 compatible avec tous les navigateurs : Chrome, Firefox, IE, Edge, Opera sont traités de la même manière ;
  • L'outil de capture Agilitest est canal 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

locator agilitest vs table xpath

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 de créer assez facilement 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 un script par l'enregistreur.

L'outil de capture a le même objectif, mais la saisie est manuelle.

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

Toutefois, si un élément change au cours de ce trajet, le composant recevra une indication erronée. 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 une DIV dans le parcours ou ont réorganisé les composants, l'attribut utilisé pour reconnaître la DIV a évolué.

De plus, les expressions XPath générées automatiquement peuvent être lourdes à maintenir.

Agilitest offre 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 par rapport aux changements futurs, ce qui rend le test plus robuste.

Voilà, à 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 KO systématique après la mise à jour de l'application.

Vous avez encore besoin d'aide ?
Contacter le support

Composants SELECT / Combo boxes

▶️ Vous pouvez regarder notre tutoriel sur le composant SELECT sur notre canal Youtube.

Agilitest prend en charge les composants HTML SELECT et les boîtes combo pour les applications de bureau. Cela est nécessaire car ces composants ont une interface graphique et un comportement particulier : ils sélectionnent une ou plusieurs valeurs dans une liste déroulante.

Créer une action Sélectionner

Il existe deux façons de créer une action de sélection :

  1. Dans le menu d'action

Pour créer une action de sélection, cliquez sur le bouton "Sélectionner"dans le menu des actions

sélectionner une action

          2. Avec la capture d'un élément

Tout d'abord, vous devez capturer l'élément sur lequel vous souhaitez effectuer l'action.

Une fois que c'est fait, déposez l'élément dans l'éditeur et choisissez l'option action Sélectionner.

sélectionner une action

💡 Conseil

L'action SELECT fonctionne aussi bien sur une liste déroulante entièrement visible que sur une liste qu'il faut généralement faire défiler en cliquant. Pour la seconde option, il suffit de capturer l'élément principal de la liste.

liste d'éléments

Trois options sont possibles pour sélectionner un composant :

options de sélection
  • Avec l'index
  • Avec le texte
  • Avec la valeur

Une fois l'élément sélectionné, vous pouvez afficher les valeurs et les instructions pour les saisir en cliquant sur le bouton"Charger les valeurs".

bouton de chargement des valeurs

Vous pouvez cliquer directement sur ces valeurs pour les saisir au lieu de les saisir manuellement. Elles seront adaptées au type de sélection choisi.

Les valeurs chargées correspondent aux trois options :

0-1-2-3 = Index

Volvo - Saab = Texte

(volvo) - (saab) = Valeur

Pour la sélection du texte et des valeurs, vous pouvez utiliser une expression régulière, qui est intéressante pour filtrer de manière plus flexible.

Vous avez également la possibilité de "Garder les autres options sélectionnées" qui peut être appliquée dans le cas d'une liste à choix multiples. Elle permet de sélectionner plusieurs éléments dans une même liste.

Sélection de l'index

L'indice correspond à la position de la valeur souhaitée dans une liste déroulante, en partant du haut et en commençant par 0.

Il suffit de cocher la case"Index" et de saisir la valeur souhaitée.

sélection de l'index

L'index ne doit pas dépasser le nombre de valeurs proposées, sinon aucun texte ne sera sélectionné.

Exemple :

Dans une liste déroulante de 4 éléments : Volvo, Saab, Mercedes, Audi.

Si vous souhaitez récupérer la valeur "Mercedes", vous devez saisir l'index "2", qui apparaît en troisième position, mais le décompte commence à 0.

Sélection de texte

Dans une sélection par texte, le texte sera sélectionné s'il correspond à une option possible proposée par la liste déroulante.

Exemple :

Dans une liste déroulante de 4 éléments : Volvo, Saab, Mercedes, Audi.

Si vous souhaitez récupérer la valeur "Mercedes", saisissez le texte "Mercedes" tel qu'il apparaît dans la liste.

sélection de texte

Sélection des valeurs

L'attribut value est une valeur supplémentaire fournie dans le code HTML et liée au texte affiché. Il permet de sélectionner un texte, mais pas d'en récupérer la valeur.

Là encore, cette valeur doit être proposée pour que le texte correspondant soit sélectionné.

sélection des valeurs


Vous avez encore besoin d'aide ?
Contacter le support

Gestion et explorateur de projets

Créer un projet

Ouvrir un nouveau projet

En haut de l'éditeur Agilitest, cliquez sur "Nouveau projet"

bouton nouveau projet

Agilitest créera un nouveau projet avec une arborescence sous le référentiel sélectionné.

nouveau projet

Créer 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. (Test piloté par les données)

Créer un fichier JSON: Pour créer un fichier de données qui testera plusieurs données.

Créer un script Java: Il vous permet d'appeler du code externe Java dans Agilitest.

Créer une exécution: Pour créer une exécution de tests afin de gérer la revue 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 devez les ouvrir via Agilitest.

Cliquez sur "Ouvrir un projet"

ouvrir un projet

Ensuite, sélectionnez le dépôt de projet à la racine et validez en cliquant sur "Sélectionner un fichier"

explorateur de projets

Le projet s'ouvrira alors dans l'explorateur de projet gilitest.

Dossiers de scripts

Des dossiers peuvent être créés dans votre explorateur de projet afin de mieux organiser vos scripts.

Pour ce faire, cliquez sur le bouton "dossier"dans l'explorateur de projet pour créer un nouveau dossier

Pour créer un script dans un dossier, vous pouvez faire un clic droit sur le dossier > " Créer un script ATS ".Créer un script ATS "

Vous pouvez renommer vos dossiers en faisant un clic droit sur le dossier > "Renommer"

Une structure arborescente est indiquée lorsqu'un répertoire est créé dans un répertoire existant.

Pour ce faire, faites un clic droit sur un dossier existant pour en créer un autre qui fera partie de ce dossier.

Supprimer un script

Vous pouvez supprimer votre script 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 poubelle 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 montrer 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 la maintenance vos tests et pour augmenter la productivité.

Il permet d'avoir une vision globale d'un projet et d'apporter des modifications globales ainsi que de limiter la méthode étape par étape.

L'explorateur de projet est composé de

  • Sélecteur de projet (1): Vous pouvez sélectionner votre projet à l'aide d'une liste déroulante. Cela permet de mieux naviguer entre vos différents projets.
  • Menu du projet (2): Les points de suspension permettent d'afficher les options et les pages relatives au projet sélectionné.
  • Sélection de la suite (3): Une autre liste déroulante vous permet de définir rapidement la suite courante pour votre projet. Cette amélioration élimine les étapes fastidieuses de configuration de la suite sélectionnée.
  • Exécuton (4): Pour exécuter la playlist en cours.
  • Sélection de l'affichage (5): Pour vous offrir une expérience plus personnalisée, une liste déroulante vous permet de choisir le type de vue que vous souhaitez voir apparaître.
  • Un ensemble d'actions (6): Ces boutons sont utilisés pour créer un nouveau composant, un nouveau fichier ou pour ouvrir la position du fichier dans l'explorateur Windows. Ces boutons sont différents selon la vue affichée.

Menu du projet

Cliquez sur les points de suspension pour afficher le menu du projet.

Dans ce menu, vous trouverez

  • Gestion des exécutions : Pour gérer vos exécutions et votre 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 : Vérifier l'intégrité du script lorsqu'un script ATS est modifié à l'aide du Bloc-notes, par exemple. Cela permet de vérifier que le script est toujours valide.
  • Recharger le projet: Pour recharger votre projet actuel et afficher les nouvelles modifications.
  • Nettoyer les exécutions : Pour supprimer le contenu du répertoire cible dans le projet et nettoyer les exécutions.
  • Fermer le projet : Pour fermer le projet en cours dans Agilitest

Qu'est-ce qu'une suite sélectionnée ?

Une suite sélectionnée est une suite courante sélectionnée pour un projet. Chaque exécution possède des paramètres tels que des options de configuration que vous pouvez trouver dans le menu de gestion des exécutions.

Pour sélectionner une suite, cliquez sur le menu déroulant des suites.

suite sélectionnée

Le but de la sélection d'une suite pour un projet est de modifier les paramètres du projet à l'échelle globale et donc de faire varier les valeurs dépendantes de ces paramètres qui sont utilisées dans les scripts du projet.

Exemple :

Si vous choisissez l'exécution "A" avec le navigateur Chrome et l'exécution "B" avec le navigateur Firefox, lorsque vous utilisez le paramètre Navigateur dans un script, la valeur sera automatiquement Firefox pour l'exécution "B" et Chrome pour l'exécution "A".

Modifier la vue de l'explorateur de projet

Pour vous aider dans votre organisation et avoir une meilleure compréhension de votre projet, vous pouvez sélectionner la vue que vous souhaitez voir s'afficher dans l'explorateur de projet.

Pour ce faire, cliquez sur le menu déroulant permettant de sélectionner une vue pour l'explorateur.

vision du projet

Vue : Script ATS

Vue du script ATS
  • Vue des scriptsATS : Pour afficher uniquement les scripts ATS de vos tests et leur référentiel au sein d'un même projet.

Vue : Scripts Java

Vue du script Java
  • Vue des scripts Java: Pour avoir une vue de tous les scripts Java créés et de leur dépôt dans un projet.

Voir : DATA

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
  • Vue des fichiers de ressources : Pour afficher les fichiers intégrés dans un projet de test qui sont encore 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 du test.

Vue : Groupes

  • Vue des groupes: Pour afficher tous les scripts ATS du projet par groupe.

Voir : Librairies Java

Vue des bibliothèques Java
  • Vue des librairies Java : Pour afficher le contenu du dépôt "libs" (.jar, .zip, fichiers de classe)

Visualiser : Résultats de l'exécution

Vue des résultats de l'exécution
  • Résultats de l'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 "polyvalents" sont modifiés à chaque exécution et n'ont pas vocation à être sauvegardés dans un projet de test.

Lignes de commande

Il existe trois façons d'accéder au panneau de la ligne de commande.

  1. Playlist unique

Dans l'explorateur de projet, cliquez sur "lignes de commande"

  1. Le scénario

Faites un clic droit sur le script que vous voulez exécuter avec les lignes de commande

  1. Listes de lecture multiples

Dans le menu de gestion des exécutions, sous "Exécutions", cliquez sur le bouton correspondant.

Ce panneau vous permet d'obtenir les lignes de commande nécessaires pour chaque lanceur.

Vous pouvez exécuter ces lignes de commande en cliquant sur le bouton "Ouvrir le terminal".

Pour l'exécuter en Java, vous aurez besoin de deux lignes de commande.

Le premier pour compiler en Java et le second pour exécuter en Java.

Lorsque vous lancez votre exécution avec Maven, ATS launcher ou Docker, vous n'avez pas besoin de lancer la commande compilation, car celle-ci est incluse dans la ligne de commande.

Vous pouvez également exécuter une ligne de commande Docker sous Linux ou Windows.

Lorsque vous copiez la ligne de commande Docker Linux, vous devez passer aux conteneurs Linux de Docker.

Et inversement, lorsque vous copiez la ligne de commande Windows de Docker, vous devrez passer aux conteneurs Windows à partir de Docker.

Pour télécharger Docker Desktop : https://www.docker.com/products/docker-desktop/

Vous avez encore besoin d'aide ?
Contacter le support

Modification des actions

▶️ Vous pouvez trouver un tutoriel sur comment éditer des actions sur notre canal Youtube.

Lors de la création de vos tests, vous interagirez avec l'éditeur Agilitest. L'éditeur vous permet de créer des actions et de gérer leurs exécutions afin d'améliorer la maintenance de vos tests.

Propriétés du script

Pour obtenir des informations globales sur vos scripts, vous pouvez consulter les propriétés des scripts.

Pour ce faire, faites un clic droit sur votre script et sélectionnez "éditer les propriétés".

La fenêtre des propriétés du script s'affiche.

Dans cette fenêtre, vous trouverez

  • La date de création de votre script
  • Le nombre d'actions
  • Le nombre d'indices
  • Le nombre de listes de lecture dans lesquelles il figure
  • Diverses notes
  • Liens associés au script

Créer des actions

Les actions que vous avez créées seront ajoutées l'une après l'autre dans votre script. Il est possible de modifier 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 "Saisir un 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 capturecliquez 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 rendre le bouton "Créer une actionpour faire apparaître l'entrée " 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 une action de groupe

Leur affichage sera grisé et une icône d'arrêt sera ajoutée à une action désactivée.

action grisée

Ils ne seront pas diffusés 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'ajoute automatiquement et qui est numéroté en fonction de sa position dans le script (cf. index 2).
  2. L'index est suivi de la nature de l'action, qui peut être paramétrée comme suit

Exemple :

Pour une action d'entrée, vous pouvez saisir le texte que vous voulez 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 saisir manuellement le Locator, qui est 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

Saisir ou modifier 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

En outre, 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: Cet élément permet de créer un élément avec des critères de recherche (type d'élément, parents, etc...).

Il est également possible de variabiliser l'indice de l'élément

💡 Conseil

Il est possible d'effectuer des modifications manuelles sur une interface du système, mais nous recommandons d'effectuer ces modifications via l'application "Desktop" dans le cadre d'une action "Start canal .

application de bureau

  • Boîte de dialogue : Cette fonction permet de gérer et d'exécuter des actions dans une boîte de dialogue.
boîte de dialogue

Pour plus d'informations, vous pouvez consulter la documentation sur l'automatisation d'une boîte de dialogue.

  • Enregistrement d'écran: Cette fonction permet de compter les formes dans une vidéo.
enregistrement de l'écran

Vous avez encore besoin d'aide ?
Contacter le support

Automatisation du Web

Agilitest supporte l'automatisation des applications web sur 5 navigateurs :

  • Chrome
  • Firefox
  • MSEdge
  • Brave

Agilitest supporte les dernières versions de navigateurs grâce aux fréquentes mises à jour de l ATS .

Dans certains cas, si vous avez des besoins particuliers et que vous n'êtes pas connecté au serveur ATS , voici comment configurer manuellement vos pilotes Web :

Cliquez sur le lien "Aide"en haut à droite de l' éditeur Agilitest.

menu d'aide

Ensuite, cliquez sur le navigateur que vous souhaitez versionner

pilotes web

Vous accéderez ainsi à la page d'assistance du navigateur.

Vous pouvez également accéder à toutes les versions des driver web par système en utilisant ce lien :ats

Du côté d'Agilitest, insérez les lignes suivantes dans votre fichier .atsProperties :

<browser>
<name>chromium</name>
<driver>chromiumdriver</driver>
<path>D:\tools\chromium\chrome.exe</path>
</browser>

Pour en savoir plus, vous pouvez consulter la documentation sur les pilotes Web.

Créer un premier test Web

Pour commencer, vous devez ouvrir un canal sur le navigateur web de votre choix afin qu'Agilitest puisse communiquer avec ce navigateur.

Par défaut, Agilitest trouvera l'installation des principaux navigateurs du marché.

Cliquez sur "Démarrer le canal dans le menu des actions,

canal départ

Sélectionnez le navigateur que vous souhaitez utiliser.

sélection du navigateur

Vous devrez ensuite spécifier l'URL où se trouve votre application, qui peut être un lien local ou Internet.

Pour ce faire, cliquez sur l'onglet Navigation > URL du navigateur du navigateur.

URL du navigateur

Saisir l'URL

URL

À partir de là, vous devrez passer en mode capture pour sélectionner des éléments du DOM, effectuer des actions et des contrôles, et finaliser votre test.

Comment exécuter un test sur plusieurs navigateurs ?

Une fois que vous avez exécuté votre premier test, vous pouvez facilement l'exécuter sur plusieurs navigateurs, en procédant comme suit :

Créez un fichier CSV à colonne unique et indiquez les navigateurs qui vous intéressent.

Pour ce faire, il suffit de cliquer sur "Nouveau composant"et sur le fichier CSV.

Fichier CSV

Ensuite, vous devez itérer sur les valeurs du fichier CSV en effectuant un appel de sous-script.

  • Créer un nouveau script
  • Déposez votre script principal de l'explorateur de projet dans la fenêtre d'édition, afin de créer une action"Appeler le script".
  • Déposez le fichier CSV sur cette nouvelle action, pour générer un appel itératif sur le fichier CSV.
action du script d'appel

Il suffit de modifier légèrement votre script initial pour changer le nom du navigateur :

Dans la rubrique "Démarrer un canal"remplacer le nom du navigateur codé en dur par la variable $param(0)

param(0)

Il s'agit de la valeur de la première colonne de votre fichier CSV sur laquelle votre appel de sous-script sera itéré.

Dans Agilitest, vous pouvez utiliser des variables à plusieurs endroits pour augmenter la réutilisation des scripts et des fichiers. Pour plus d'informations, consultez notre documentation sur le passage de paramètres à un sous-script.

Vous pouvez également créer une variable d'environnement accessible à partir des paramètres d'exécution de votre projet.

Pour les utiliser dans vos scripts, utilisez la fonction $env(parameter_name).

Pour plus d'informations, veuillez consulter la documentation sur les variables.

🔸 Avertissement

S'il est possible d'ouvrir plusieurs navigateurs différents dans le même script, il n'est pas possible d'ouvrir plusieurs fois le même navigateur.


Vous avez encore besoin d'aide ?
Contacter le support

Rapports vidéo

Il est important que l'analyse des conditions d'échec des tests soit rapide et efficace afin de déterminer si le test doit être modifié ou s'il existe une condition de régression dans le logiciel.

Ce point est essentiel pour réduire encore la charge des tests automatisés sur le site de maintenance .

La fonctionnalité vidéo ATSV est fournie par ATS nativement : elle est open source. Vous pourrez é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 existe plusieurs façons de produire un rapport vidéo directement dans Agilitest.

Dans le menu de gestion des canaux

Le menu de gestion des canal 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".Rapport visuel"

rapports visuels

A la fin de l'exécution, le rapport est accessible avec l'explorateur de projet dans le répertoire targetreport.

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

La page de gestion des exécutions et de compilation des suites s'ouvre alors.

Constructeur du projet

Cliquez ensuite sur le bouton Paramètres de la suite.

bouton du stylo pour modifier

Cliquez sur le cas "Activer 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 des 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, il affichera à l'écran le nom du canal en cours d'exécution et le nombre d'actions effectuées.

canal actuel

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 permet 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 "Actionssur 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 dans les 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 Chaînes

Action des chaînes

Ces actions vous permettent de créer, fermer et modifier le canal courant de votre test. Elles sont intégrées directement dans le script.

actions sur les canal

Démarrer le canal: Cette action permet à Agilitest de faire le lien avec l'application testée.

Changer de canal: Cette action est utilisée lorsque plusieurs canaux sont présents dans le script. Elle permet de passer d'un canal à l'autre.

Fermer le canal: Ceci indique à Agilitest que le 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

🔸 Avertissement

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 sous-script

action 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

Saisir le texte de l'action

Saisir le texte de l'action

L'action de saisie de texte envoie à votre application les éléments correspondant aux touches du clavier à votre applicationL'action de saisie de texte envoie à votre application les éléments correspondant aux touches du clavier, les 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 effectue un clic sur un élément
  • Sur: 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
  • Drop: Cette action libère l'élément. Elle doit être précédée d'une action de "glisser".
  • Swiping: 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

Vérifier l'action

Vérifier les actions

Les actions de contrôle 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 sur les biens

Action sur les biens

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 sur les biens

Il est possible de récupérer une propriété CSS ou HTML.

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 :

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

Sélectionner une action

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 sur les 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éer un nouveau composant

nouveau composant

Lorsque vous créez un nouveau composant, Agilitest vous propose une sélection de différents types de composants :

Créer un 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 (Test piloté par les données).

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 :

  • Faites des captures d'écran de votre éditeur directement à partir d'Agilitest
  • Avoir accès aux paramètres d'Agilitest
  • Avoir accès aux outils permettant de compléter Agilitest
  • Recherche d'un script en particulier dans l'éditeur
  • Avoir accès au menu d'aide

Paramètres d'agilité

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 l'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 :

  • Rapport 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 projet

Explorateur de projet

L'explorateur de projets est un arbre de structure qui répertorie tous les projets et les é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

Le menu de gestion ducanal est un prérequis avant de commencer à éditer un test, c'est un élément central d'Agilitest qui facilitera la création et la maintenance tests.

menu de gestion des canaux

Dans ce menu de gestion du canal , vous avez accès aux éléments suivants :

  • Le bouton de l'outil Capture
  • Le bouton Fermer permet de fermer le canal actuel
  • 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.

Variables du script

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 cœur du script qui est uniquement conçu pour les actions.

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/609102fd03ae3864a5d425e1_image-24.png

Gestion des scripts

Menu Actions

menu d'actions

Le menu d'actions d' Agilitest est central et permet de déclarer manuellement toutes les actions possibles dans un script de test.

Dans ce menu, vous trouverez toutes les actions d'Agilitest qui sont utilisées pendant un test. Il a été conçu pour assurer la plus grande compatibilité entre tous les appareils supportés par Agilitest.

Ce menu permet également de gérer les différents canaux utilisés lors d'un test.

Éditeur de scripts

L'éditeur de script d' Agilitest représente une grande partie de l'éditeur. Il montre les actions que vous pouvez exécuter sur vos tests. L'éditeur proposera des interprétations graphiques des actions qui seront effectuées sur votre script. Le format ATS est un format textuel qui décrit toutes les actions.

éditeur de scripts

Cette section de l'éditeur est conçue pour permettre la réutilisation des composants: copie des actions ou des éléments sur lesquels ils agissent sur ou avec la création de sous-script .

L'affichage des actions ne montre que les actions principales, mais tous les cas peuvent être gérés dans des sous-menus.

https://cdn.prod.website-files.com/60799032d5e3523ef1cd727c/609102fad3595f83cd52dec3_image-26.png

En-tête de script

Le menu d'en-tête de script permet de gérer un ensemble de métadonnées liées à un test, comme la suite d'exécution par exemple.

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

bouton d'en-tête de script

Vous pouvez visualiser le script ATS correspondant à votre test.

code ats

💡 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 suivi des bug .

Vous pouvez également avoir accès au code Java qui, une fois compilé, permettra l'exécution des tests.

code java

🔸 Avertissement

Les 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

ATS : Langage Open source

Agilitest est une suite intuitive d'automatisation de tests fonctionnels conçue pour que tout le monde puisse automatiser des tests.

Grâce à une approche unique de l'automatisation des tests fonctionnels, Agilitest offre une vue d'ensemble de la qualité des logiciels à tout moment, qu'il s'agisse de technologies web, desktop, mobiles ou de webservice .

Dans un contexte où les équipes Agiles et l'intégration DevOps deviennent la norme, Agilitest fournit à tous les testeurs de logiciels, qu'ils aient une formation technique ou non, un moyen intuitif et robuste de créer, maintenir et exécuter des tests fonctionnels automatisés.

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

ATS est 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 page Web. Web (Chrome, Edge, Internet Explorer, Firefox), bureau (Desktop), mobilemobile, ou Webservice.

Les scripts écrits dans 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 desktop, mobile Android et iOS ou Webservices.

LATS produit des rapports dans les formats suivants :

Rapports d'exécution:

- Rapport d'exécution : pour une lecture globale de l'exécution des tests‍

- Rapport d'exécution détaillé (avec ou sans capture d'écran): pour analyser les raisons des échecs des tests.

- Rapport de synthèse (pdf): pour une lecture globale de la réussite des tests dans un format spécialisé

- Rapport ATSV: Images d'exécution compilées dans un format vidéo (lecture via le lecteur ATSV)

- Rapport de validation: pour documenter et archiver les exécutions réalisées

ATS est compatible avec le format d'exécution TestNG, largement utilisé, et avec les systèmes d'intégration continue les plus récents.

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

Le lien entre ATS et Agilitest

Pour que ATS et Agilitest fonctionnent, vous devez installer certains prérequis.

Pour plus d'informations, vous pouvez consulter la documentation sur les exigences matérielles et logicielles.

Le lien est avant tout philosophique : nous avons voulu mettre à disposition de tous la technologie de relecture de tests logiciels qu'est l'ATS et ainsi permettre une éventuelle accélération des développements qui y sont liés : les technologies liées au dev/ops et plus généralement tous les acteurs de la chaîne de production logicielle sont multiples et encore en forte évolution.

Techniquement, Agilitest est un éditeur qui produit des scripts ATS , mais nous avons également mis dans cet éditeur toute l'expérience de plusieurs années d'utilisation d'outils de tests automatisés. Il s'appuie sur ATS et bénéficie des caractéristiques techniques qu'il apporte : lisibilité des scripts, relecture pas à pas des tests, robustesse...

🔸Warning

Agilitest est un éditeur de code ATS , mais les modifications ne se font pas à partir de l'éditeur Agilitest mais avec Notepad++, par exemple.

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

https://actiontestscript.org

Vous avez encore besoin d'aide ?
Contacter le support

Intégration de Jenkins

▶️ Vous pouvez trouver un tutoriel sur comment utiliser Jenkins avec Agilitest sur notre canal 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 tâches à 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 pour un travail 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 intégré"dans le menu Jenkins,

bouton serveur intégré

Entrez un port disponible sur votre ordinateur, et cliquez sur le bouton "Téléchargeret cliquez sur le bouton " Télécharger ".

bouton de téléchargement

Une fois Jenkins installé, cliquez sur "Connecter".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 de Jenkins

Cliquez sur le lien "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 intégré est utile pour créer des tâches et les exécuter à la volée. Cependant, il est moins sûr 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 disposer d'un login et d'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

Saisir 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

‍Copierle Token généré (il n'est généré qu'une seule fois) et le coller 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 emploi

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 travail, 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: 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 travaux 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"Suite list".

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 processus de vos emplois.

Paramétrer un emploi

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 travail 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"Configure", où vous aurez accès à tous les paramètres.

configurer dans Jenkins

Après une première exécution, la tâche affiche un symbole météorologique représentant l'état de la tâche.

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 intégrée/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 la case"Avertissements et informations".

Avertissements et informations

Vos tests ont besoin d'un agent pour être exécutés, et cet agent doit avoir une étiquette déclarée. Pour que l'exécution des tests ATS fonctionne, vous avez besoin de l'étiquette ats.

Si votre agent n'a pas d'étiquette :

Cliquez sur le bouton "Fixer".

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"et extraire les fichiers

bouton de téléchargement de l'agent

Cliquez sur "launcher.bat"pour se connecter.

fichier bat du lanceur

🔸 Avertissement

Pour qu'un lanceur puisse être exécuté, il faut que Java soit 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é

Installation de Jenkins sans Agilitest

Cette procédure n'est utilisée que si vous avez besoin d'une installation spécifique de Jenkins : Agilitest est capable de télécharger et d'installer automatiquement une instance de Jenkins et de configurer les jobs sur l'ordinateur utilisé pour les exécutions.

Voici les étapes à suivre :

  • Téléchargez Jenkins pour Windows ici : https://jenkins.io/download/
  • L'installer en standard
  • Exécutez-le à partir de la ligne de commande en utilisant JAVA (ne l'exécutez pas en tant que service pour cet exemple de configuration, et si nécessaire, arrêtez le service Jenkins).

Exemple de commande pour lancer Jenkins : java -jar -Xms768m -Xmx1024m jenkins.war

  • Connectez-vous à "http : // localhost : 8080" et suivez les instructions pour le mot de passe.

Attention : le mot de passe initial pour le lancement manuel est modifié et imprimé dans les journaux de lancement.

  • Vous pouvez alors choisir d'installer les plugins suggérés ou les plugins de votre choix.
  • Saisissez ensuite les détails du compte de l'administrateur et cliquez sur "Enregistrer et continuer".
  • Configurez l'instance (adresse et port) puis cliquez sur "Finish".
  • Votre instance Jenkins est prête à être personnalisée.

Configurer un JDK (10 minimum)

Cliquez sur Gérer Jenkins puis choisissez "Global Tool Configuration".

Dans la section "JDK", choisissez le JDK que vous souhaitez utiliser (minimum 10), soit celui proposé automatiquement par Jenkins, soit en définissant un répertoire local contenant un JDK 10.

Installation des plugins

Dans Manage Jenkins, cliquez sur "Manage Plugins".

Les plugins requis pour l'ATS sont :

  • Plugin d'injection d'environnement
  • Plugin d'intégration GitHub
  • Plugin Maven Invoker
  • Plugin TestNG Results
  • Plugin Maven Unleash

Dans la section "Disponible", filtrez avec les noms des plugins ci-dessus pour les sélectionner :

Ces plugins sont normalement déjà installés dans la plupart des infrastructures Jenkins existantes, à l'exception peut-être de TestNG.

L'installation de ces plugins permet de récupérer toutes les dépendances nécessaires.

Définir le répertoire ATS

Prérequis : Télécharger les composants ATS

Dans le menu Gérer Jenkins, cliquez sur Configurer le système > Propriétés globales > ajouter une variable d'environnement.

Nom = ATS=[chemin d'accès à votre référentiel ATS local].

Retournez à la page d'accueil de Jenkins et cliquez sur "Nouvel élément".

Nommez votre nouveau Job, puis cliquez sur Maven Project > OK.

Dans la section "Gestion du code source", cliquez sur le bouton radio "GIT" et entrez l'URL git d'un projet ATS .

Exemple : https://github.com/pierrehub2b/ats_test.git

Vous pouvez également cliquer sur "none" pour utiliser un projet local (le chemin sera défini dans le fichier POM de votre projet).

Dans la section "Build Environment", ajoutez une variable si nécessaire, après avoir coché "Injecter des variables d'environnement dans le processus de construction".

Exemple: browser.name = chrome

Pour être utilisé par l'ATS, ce nom de variable doit être identique à une variable utilisée dans le projet ATS .

Exemple: Dans l'éditeur Agilitest, vous pouvez trouver des variables dans "Paramètres d'exécution"d'un projet

Dans Jenkins, dans la section "Build", entrez la valeur "test" dans le champ "Goals and options".

Votre travail est configuré et prêt à être lancé en cliquant sur "Construire maintenant".

Une fois le travail terminé, vous aurez accès aux rapports habituels résultant de l'exécution des tests (détails par test, régressions, réussis, échoués, etc...).

Si vous souhaitez partager ou échanger des idées sur un autre exemple de configuration, vous pouvez le faire via le projet github suivant : https://github.com/pierrehub2b/actiontestscript.

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

Ecrire l'appel au 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 de Web Service

Exemple ici : http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL

Démarrer uncanal Webservice en tant que canal Web

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 de Web Service .

Agilitest détectera automatiquement s'il s'agit d'un service SOAP ou REST (tous les autres types de services qui ne sont pas SOAP seront également inclus).

Cette fenêtre de capture communiquera toutes les actions disponibles dans le Web Service soumis :

WSDL : obtenir la liste des services disponibles

Ecrire la méthode adressée à ce Web Service dans Agilitest

La deuxième action de Web Service spécifique se trouve dans la section "Navigation" et le Webservice REST ou SOAP.

Appeler une action de webservice REST
Fonction GET

L'action REST est par défaut GET, mais toutes les méthodes HTTP standard 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 en même temps.

 Sélectionner la méthode
Et modifier les en-têtes et les données de l'API

Vous pouvez passer manuellement au type SOAP à l'aide du bouton prévu à cet effet :

Pour tous les services Web, vous pouvez vous adapter à vos besoins.

  • Envoyer des 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 de requête SOAP avec des données
  • Utilisez la boîte "En-tête de la demande" pour gérer les en-têtes si nécessaire.
Ajouter un en-tête

Il existe deux paramètres supplémentaires que vous pouvez utiliser :

  • Modifier le port: Permet d'indiquer sur quel port vous souhaitez interroger le webservice.
  • Utiliser le cache: Dans la mesure du possible, Agilitest n'effectuera pas de nouvelle demande si les données demandées se trouvent 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 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 dédié à Wizdler :

       4. Cliquez sur l'une des actions disponibles sur ce Web Service (par exemple CapitalCity) pour récupérer le corps et le coller dans la boîte "API Settings".

         5. N'oubliez pas de renseigner 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éfautchaîne de caractère], puis en cliquant sur le bouton "Go" et en vérifiant le résultat renvoyé par le Web Service

Capture des données renvoyées par le Web Service

Maintenant que les champs"method" et"API Settings" de votre action sont remplis, 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.

Capturer le résultat de la requête
Sélection des attributs qui identifient l'élément

L'action "Propriété" vous permet de réutiliser dans votre script les données cibles renvoyées par le Web Service :

Et nous obtenons la valeur dans une variable....
indiquant l'attribut de l'élément qui nous intéresse

La récupération de l'attribut "value" dans ce cas nous permet 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 Check et Property recovery seront très souvent les actions les plus pertinentes dans la rédaction de vos tests fonctionnels de bout en bout à l'aide des services Web.

Exemple de script SOAP

Vous trouverez ici un exemple de script SOAP de ats : SOAP_flag_demo.ats
Cliquez avec le bouton droit de la souris 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
Nous vous remercions ! Votre demande a bien été reçue !
Oups ! Un problème s'est produit lors de l'envoi du formulaire.