▶️ Vous trouverez un tutoriel sur comment utiliser Jenkins avec Agilitest sur notre chaîne Youtube.
Agilitest vous permet d'installer et de configurer automatiquement un serveur Jenkins local, ou même de vous connecter à un Jenkins distant. C'est simple, rapide et extrêmement pratique.
Vous pouvez programmer des exécutions récurrentes pour vous assurer que toutes les fonctions testées sont correctes ou non.
Exemple :
Vous pouvez programmer des Jobs à exécuter tous les matins à 6 heures, ou tous les jeudis, ou même en continu sur une période définie si vous le souhaitez, etc...
Ces jobs, qui lanceront automatiquement vos tests sur vos solutions Web, Desktop, API ou Mobile (terminaux émulés ou physiques), s'afficheront sur un écran très graphique. C'est ainsi que vous gagnez en confiance sur la qualité de vos solutions au quotidien.
Jenkins avec Agilitest
Agilitest peut communiquer avec Jenkins afin de créer de nouveaux Jobs.
Jenkins est le composant qui permet de planifier les exécutions tout en donnant accès aux rapports de campagne et au suivi des taux de réussite et d'échec d'un Job donné. Ceci, même si ATS est compatible avec TestNg et peut être déployé sur n'importe quel système CI/CD.
Agilitest propose un panel réduit des options de base offertes par Jenkins. Lorsque vous souhaitez automatiser l'exécution de vos tests, vous pouvez utiliser Jenkins directement depuis Agilitest.
Ouvrir Jenkins avec Agilitest
- Jenkins intégré
Pour ouvrir Jenkins dans Agilitest, cliquez sur l'onglet "Gestion des exécutions"
.png)
Ensuite, cliquez sur le bouton "Intégration Jenkins" pour accéder à l'interface Jenkins dans Agilitest.

Si Jenkins n'est pas installé :
Cliquez sur l'icône Jenkins ou connectez Jenkins à partir du menu des outils

Dans les outils, cliquez sur "serveur embarqué" dans le menu Jenkins,

Entrez un port disponible sur votre ordinateur, et cliquez sur le bouton "Télécharger"

Une fois Jenkins installé, cliquez sur "Connecter" pour connecter Jenkins à Agilitest.

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.

Cliquez sur "Arrêter Jenkins" pour fermer Jenkins et arrêter son processus

Si vous vous déconnectez simplement, le processus Jenkins ne s'arrêtera pas.
Le serveur embarqué est utile pour créer des Jobs et les exécuter à la volée. Cependant, il est moins sécurisé qu'un serveur distant, car il ne nécessite pas de mot de passe pour se connecter.
2. Jenkins à distance
Connectez Agilitest à Jenkins avec le serveur distant pour exécuter vos tests en production.
En mode distant, il n'y a pas de téléchargement mais vous devez avoir un Login et un Token.
Pour vous y connecter, cliquez sur le bouton "serveur distant"

Dans le champ "URL" entrez l'URL de votre page Jenkins ouverte.
.png)
Le chemin du dossier correspond au dossier dans lequel les projets Agilitest seront stockés.
Saisissez le nom de votre choix pour le dossier
.png)
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 :
.png)
Entrez le login correspondant à celui de la page Jenkins.
.png)
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"
.png)
Copiez le Token généré (il n'est généré qu'une seule fois) et collez-le dans l'éditeur Agilitest
.png)
Enfin, cliquez sur "Connecter"

Une fois connecté, le serveur distant dispose d'un peu moins d'options que le serveur intégré. Vous aurez la possibilité de vous connecter ou de vous déconnecter de Jenkins.
Créer un Job
Une fois Jenkins connecté, il peut être utilisé pour exécuter des Jobs.
Pour créer un nouvel emploicliquez sur le bouton "Nouveau job"à côté de l'icône Jenkins.

Saisissez le nom de votre Job, ajoutez une description et configurez les paramètres que vous souhaitez.
.png)
Vous avez plusieurs options :
- Outils
Utiliser le dépôt Git : Pour utiliser un dépôt Git lorsqu'un projet est déjà géré par Git
Maven Job: Pour faire intervenir Maven lors des exécutions
- Lancement
Vous pouvez également configurer le lancement de votre Job
En cochant la case "Automatique", vous pouvez décider quand vos Jobs doivent être lancés. Choisissez un ou plusieurs jours de la semaine, définissez la fréquence et les heures de travail au format 24 heures.
Cliquez sur le bouton "Continuer" pour exécuter le test plusieurs fois.
- Liste des suites
La liste des suites qui seront exécutées dans votre Job Jenkins se trouve dans l'encart "Liste des Suites".
Cliquez sur le bouton "Ajouter" et définissez les suites que vous souhaitez exécuter.
.png)
- Rapports
Vous pouvez choisir de générer les rapports Agilitest à la fin de vos exécutions.
Vous pouvez également choisir d'envoyer un courriel afin de suivre le déroulement de vos Jobs
Paramétrer un Job
Une fois le Job créé, vous pouvez le paramétrer à nouveau en cliquant sur l'icône "stylo" dans l'interface Jenkins d'Agilitest.

Sélectionnez un Job et cliquez sur "Exécuter".

A la fin de l'exécution, Jenkins validera ou non le test.
Vous pouvez exécuter à nouveau votre test directement à partir de la page Web, ou à partir de votre éditeur Agilitest, comme décrit ci-dessus.
Vous pouvez également configurer votre Job directement dans Jenkins à partir de l'onglet "Configurer", où vous aurez accès à tous les paramètres.
.png)
Après une première exécution, le Job affiche un symbole météorologique représentant le statut du Job.
.png)
Ce symbole météorologique sera également représenté dans Agilitest.

Sous l'icône Jenkins se trouvent des boutons d'accès pour :

- Ouvrir la configuration Jenkins
- Ouvrir la page du projet
- Ouvrir la fenêtre des outils Agilitest
- Synchronisez vos informations à partir de Jenkins
Configuration avancée
Si les besoins d'exécution des tests sont massifs, le serveur Jenkins n'exécutera aucun test et les déléguera aux serveurs d'exécution via la communication Jenkins contrôleur(built-in)/agent.
Jenkins permet l'utilisation de divers protocoles de communication tels que Java Web Start (JNLP) et SSH.
Une liste de tous les agents connectés ou déclarés se trouve dans la configuration du serveur Jenkins.
.png)
Vous pouvez également les trouver dans la page Jenkins Tableau de bord > Nœuds
.png)
Il est important de noter qu'un contrôleur peut également être un agent.
Lorsqu'un agent est sélectionné, les erreurs qui peuvent être corrigées apparaissent dans l'encart "Avertissements et informations".

Vos tests ont besoin d'un agent pour être exécutés, et cet agent doit avoir un Label déclaré. Pour que l'exécution du test ATS fonctionne, vous avez besoin du label ats-executor.
Si votre agent n'a pas de label :
Cliquez sur le bouton "Corriger".

Une fois redirigé vers la page Jenkins, cliquez sur l'agent concerné dans Tableau de bord > Nœuds

Cliquez ensuite sur "Configurer" et entrez "ats.executor" dans le champ Labels

Il est également possible de créer un nouvel agent.
Pour ce faire, cliquez sur "Nouvel agent"

Saisissez un nom et un nouvel emplacement du dossier
.png)
Cliquez ensuite sur "Télécharger l'agent" puis vous devez extraire les fichiers

Cliquez sur "launcher.bat" pour vous connecter.

🔸 Attention
Pour qu'un launcher puisse être exécuté, Java doit être déclaré dans votre système Windows.
Vous avez également la possibilité d'activer ou de désactiver un agent.

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.

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)
.png)
Cliquez sur Gérer Jenkins puis choisissez "Global Tool Configuration".
.png)
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 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 :
.png)
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 de ATS
- Plus d'informations dans le projet Projet GitHub Action Test Script dans la section "Installation".
Dans le menu Gérer Jenkins, cliquez sur Configurer le système > Propriétés globales > ajouter une variable d'environnement.
Nom = ATS_HOMEValeur =[chemin vers votre dépôt local ATS ]
.png)
Retournez à la page d'accueil de Jenkins et cliquez sur "Nouvel élément".
Nommez votre nouveau Job, puis cliquez sur Maven Project > OK.
.png)
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).
.png)
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
.png)
Pour être utilisé par 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
.png)
Dans Jenkins, dans la section "Build", entrez la valeur "test" dans le champ "Goals and options".
.png)
Votre travail est configuré et prêt à être lancé en cliquant sur "Construire maintenant".
.png)
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...).
.png)
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.