Catégories

Intégration de Jenkins

▶️ Vous trouverez un tutoriel sur comment utiliser Jenkins avec Agilitest sur notre chaîne Youtube.

Agilitest vous permet d'installer et de configurer automatiquement un serveur Jenkins local, ou même de vous connecter à un Jenkins distant. C'est simple, rapide et extrêmement pratique.

Vous pouvez programmer des exécutions récurrentes pour vous assurer que toutes les fonctions testées sont correctes ou non.

Exemple :

Vous pouvez programmer des Jobs à exécuter tous les matins à 6 heures, ou tous les jeudis, ou même en continu sur une période définie si vous le souhaitez, etc...

Ces jobs, qui lanceront automatiquement vos tests sur vos solutions Web, Desktop, API ou Mobile (terminaux émulés ou physiques), s'afficheront sur un écran très graphique. C'est ainsi que vous gagnez en confiance sur la qualité de vos solutions au quotidien.

Jenkins avec Agilitest

Agilitest peut communiquer avec Jenkins afin de créer de nouveaux Jobs.

Jenkins est le composant qui permet de planifier les exécutions tout en donnant accès aux rapports de campagne et au suivi des taux de réussite et d'échec d'un Job donné. Ceci, même si ATS est compatible avec TestNg et peut être déployé sur n'importe quel système CI/CD.

Agilitest propose un panel réduit des options de base offertes par Jenkins. Lorsque vous souhaitez automatiser l'exécution de vos tests, vous pouvez utiliser Jenkins directement depuis Agilitest.

Ouvrir Jenkins avec Agilitest

  1. Jenkins intégré

Pour ouvrir Jenkins dans Agilitest, cliquez sur l'onglet "Gestion des exécutions"

gestion des exécutions

Ensuite, cliquez sur le bouton "Intégration Jenkins" pour accéder à l'interface Jenkins dans Agilitest.

Bouton d'intégration Jenkins

Si Jenkins n'est pas installé :

Cliquez sur l'icône Jenkins ou connectez Jenkins à partir du menu des outils

bouton outils

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

bouton du serveur intégré

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

bouton de téléchargement

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

bouton de connexion

La connexion d'un serveur embarqué ouvrira Jenkins sur votre ordinateur, cette opération peut prendre quelques secondes.

Cela ouvrira une page web composée des projets ouverts par Agilitest.

Page web Jenkins

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

bouton stop jenkins

Si vous vous déconnectez simplement, le processus Jenkins ne s'arrêtera pas.

Le serveur embarqué est utile pour créer des Jobs et les exécuter à la volée. Cependant, il est moins sécurisé qu'un serveur distant, car il ne nécessite pas de mot de passe pour se connecter.

           2. Jenkins à distance

Connectez Agilitest à Jenkins avec le serveur distant pour exécuter vos tests en production.

En mode distant, il n'y a pas de téléchargement mais vous devez avoir un Login et un Token.

Pour vous y connecter, cliquez sur le bouton "serveur distant"

bouton du serveur distant

Dans le champ "URL" entrez l'URL de votre page Jenkins ouverte.

page jenkins

Le chemin du dossier correspond au dossier dans lequel les projets Agilitest seront stockés.

Saisissez le nom de votre choix pour le dossier

chemin du dossier

Ensuite, vous devrez entrer un login et un token.

Pour les obtenir, vous pouvez les trouver dans votre page Jenkins Jenkins Tableau de bord > Utilisateurs :

utilisateur dans Jenkins

Entrez le login correspondant à celui de la page Jenkins.

connexion dans l'éditeur

Pour obtenir le jeton API, cliquez sur l'utilisateur dans Jenkins et ensuite sur "Configurer".

Dans le champ "Jeton API" cliquez sur "Ajouter un Token" > "Générer"

TOKEN API

Copiez le Token généré (il n'est généré qu'une seule fois) et collez-le dans l'éditeur Agilitest

jeton api dans l'éditeur

Enfin, cliquez sur "Connecter"

bouton de connexion

Une fois connecté, le serveur distant dispose d'un peu moins d'options que le serveur intégré. Vous aurez la possibilité de vous connecter ou de vous déconnecter de Jenkins.

Créer un Job

Une fois Jenkins connecté, il peut être utilisé pour exécuter des Jobs.

Pour créer un nouvel emploicliquez sur le bouton "Nouveau job"à côté de l'icône Jenkins.

bouton nouvel emploi

Saisissez le nom de votre Job, ajoutez une description et configurez les paramètres que vous souhaitez.

Créer une nouvelle interface de travail

Vous avez plusieurs options :

  • Outils

Utiliser le dépôt Git : Pour utiliser un dépôt Git lorsqu'un projet est déjà géré par Git

Maven Job: Pour faire intervenir Maven lors des exécutions

  • Lancement

Vous pouvez également configurer le lancement de votre Job

En cochant la case "Automatique", vous pouvez décider quand vos Jobs doivent être lancés. Choisissez un ou plusieurs jours de la semaine, définissez la fréquence et les heures de travail au format 24 heures.

Cliquez sur le bouton "Continuer" pour exécuter le test plusieurs fois.

  • Liste des suites

La liste des suites qui seront exécutées dans votre Job Jenkins se trouve dans l'encart "Liste des Suites".

Cliquez sur le bouton "Ajouter" et définissez les suites que vous souhaitez exécuter.

liste des suites

  • Rapports

Vous pouvez choisir de générer les rapports Agilitest à la fin de vos exécutions.

Vous pouvez également choisir d'envoyer un courriel afin de suivre le déroulement de vos Jobs

Paramétrer un Job

Une fois le Job créé, vous pouvez le paramétrer à nouveau en cliquant sur l'icône "stylo" dans l'interface Jenkins d'Agilitest.

Bouton d'édition d'un travail

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

bouton d'exécution du travail

A la fin de l'exécution, Jenkins validera ou non le test.

Vous pouvez exécuter à nouveau votre test directement à partir de la page Web, ou à partir de votre éditeur Agilitest, comme décrit ci-dessus.

Vous pouvez également configurer votre Job directement dans Jenkins à partir de l'onglet "Configurer", où vous aurez accès à tous les paramètres.

configurer dans Jenkins

Après une première exécution, le Job affiche un symbole météorologique représentant le statut du Job.

situation météorologique à Jenkins

Ce symbole météorologique sera également représenté dans Agilitest.

statue météorologique à Agilitest

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

boutons jenkins
  • Ouvrir la configuration Jenkins
  • Ouvrir la page du projet
  • Ouvrir la fenêtre des outils Agilitest
  • Synchronisez vos informations à partir de Jenkins

Configuration avancée

Si les besoins d'exécution des tests sont massifs, le serveur Jenkins n'exécutera aucun test et les déléguera aux serveurs d'exécution via la communication Jenkins contrôleur(built-in)/agent.

Jenkins permet l'utilisation de divers protocoles de communication tels que Java Web Start (JNLP) et SSH.

Une liste de tous les agents connectés ou déclarés se trouve dans la configuration du serveur Jenkins.

Configuration de Jenkins

Vous pouvez également les trouver dans la page Jenkins Tableau de bord > Nœuds

Nœuds dans Jenkins

Il est important de noter qu'un contrôleur peut également être un agent.

Lorsqu'un agent est sélectionné, les erreurs qui peuvent être corrigées apparaissent dans l'encart "Avertissements et informations".

Avertissements et informations

Vos tests ont besoin d'un agent pour être exécutés, et cet agent doit avoir un Label déclaré. Pour que l'exécution du test ATS fonctionne, vous avez besoin du label ats-executor.

Si votre agent n'a pas de label :

Cliquez sur le bouton "Corriger".

Fixer les étiquettes

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

Page Agents dans les nœuds

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

configurer les étiquettes

Il est également possible de créer un nouvel agent.

Pour ce faire, cliquez sur "Nouvel agent"

Bouton "nouvel agent

Saisissez un nom et un nouvel emplacement du dossier

Informations sur les nouveaux agents

Cliquez ensuite sur "Télécharger l'agent" puis vous devez extraire les fichiers

bouton de téléchargement de l'agent

Cliquez sur "launcher.bat" pour vous connecter.

fichier bat du lanceur

🔸 Attention

Pour qu'un launcher puisse être exécuté, Java doit être déclaré dans votre système Windows.

Vous avez également la possibilité d'activer ou de désactiver un agent.

bouton de désactivation

Lorsque les tests sont lancés, ils sont exécutés sur les agents disponibles. Si vous ne souhaitez pas qu'un agent soit utilisé, vous pouvez le désactiver.

agent désactivé

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

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 ]

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