Catégories

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