Intégration aux tests externes

Pour intégrer les tests externes exécutés sur Jenkins, une action post-compilation est introduite pour le plug-in Application Automation Tools : Télécharger le résultat du test vers ALM en utilisant le mappage des champs. Ce complément lit les rapports de test de cadres ou d’outils de test externes, télécharge le résultat du test dans OpenText Application Quality Management, puis met à jour ou crée des tests, des campagnes de test, des instances de test et des exécutions de test.

Note : La solution précédente d’intégration des tests externes, telle que décrite dans Importer test externes, n’est plus mise à jour. Vous pouvez toujours l’utiliser si vous préférez cette solution. Cependant, nous vous recommandons d’utiliser la solution présentée dans cette rubrique.

Dans cette rubrique :

Mesures de haut niveau

Voici le résumé de ce que vous devez faire pour utiliser l’action post-compilation pour télécharger les résultats de test d’un rapport de test XML vers ALM :

  1. Préparer un fichier XML qui inclut le résultat du test. Vous pouvez préparer manuellement le fichier XML ou le faire générer par un outil ou un cadre de test.
  2. Installer le plugin, version 6.4 ou ultérieure. Voir Application Automation Tools.
  3. Créer un nouveau travail Jenkins pour tester la configuration du complément. Voir Créer une tâche pour tester la configuration du complément.

    Nous vous recommandons de créer un nouveau travail la première fois que vous utiliser le complément. Vous devez tester la configuration du complément avant de l’implémenter dans votre environnement de production.

  4. Ajouter l’action post-compilation Télécharger le résultat du test vers ALM en utilisant le mappage des champs au nouveau travail Jenkins ou à un travail existant. Voir Configurer l’action post-compilation :.

Remarques :

  • Si vous souhaitez télécharger les informations de durée, telles que le temps d’exécution du test, vers OpenText Application Quality Management, créer un champ défini par l’utilisateur de type chaîne dans OpenText Application Quality Management. Cela est dû au fait que le champ du système Durée n’autorise que les nombres entiers. Il ne peut pas être utilisé pour enregistrer les informations relatives à la durée (normalement un nombre flottant) à partir du fichier XML.
  • Le complément ne prend pas en charge la définition de champs système de type date pour les entités. Par exemple, « Date de création » dans les tests et « Date d’exécution » dans les instances de test. Ces valeurs de champ de date sont définies automatiquement lorsque le résultat du test est téléchargé.

    Si vous souhaitez télécharger les informations de date du fichier XML de résultats de test, créer un champ défini par l’utilisateur de type date. Ce fichier ne prend en charge que la date et non l’heure.

    Le format de la date dans le fichier XML doit être aaaa-mm-jj.

Retour en haut

Créer une tâche pour tester la configuration du complément

Suivre les étapes ci-dessous pour créer un nouveau travail à partir de zéro. Ceci est recommandé si vous voulez essayer cette fonctionnalité dans votre environnement de test.

Si vous voulez l’utiliser directement dans votre environnement de production où il existe déjà une tâche Jenkins pour exécuter les tests, passer à Configurer l’action post-compilation :.

Pour créer un travail pour tester la configuration du complément :

  1. Allez sur la page d’accueil du Serveur Jenkins.
  2. Cliquer sur le lien Nouvel élément.
  3. Saisir un nom de travail.
  4. Sélectionner Compiler un projet de logiciel libre et cliquer sur OK.
  5. Dans la section Configuration du projet, faites défiler la page jusqu’à la section Compilation.

  6. Développer la liste déroulante Ajouter une étape de construction et sélectionner Exécuter un shell pour les systèmes non-Windows ou Exécuter une commande batch Windows pour les systèmes Windows.

    Écrire la commande pour copier le fichier XML du résultat du test type dans le dossier du travail Jenkins.

    Le plugin prend en charge la recherche du fichier de résultats de test dans le serveur Jenkins et les machines agents. Vous pouvez copier le fichier XML sur l’un des deux emplacements.

    Pour copier le fichier XML d’exemple sur le serveur Jenkins, exécuter la commande suivante :

    • Windows :

      Copy code
      copy "<Path_of_copied_sample_XML>\<Report_Name>.xml" <Jenkins_Home_Directory>/jobs/<Jenkins_Job_Name>/builds/%BUILD_ID%
    • Non-Windows :

      Copy code
      cp -f <Path_of_copied_sample_XML>/<Report_Name>.xml <Jenkins_Home_Directory>/jobs/<Jenkins_Job_Name>/builds/${BUILD_ID}

    Pour copier le fichier XML type sur la machine agent Jenkins, exécuter la commande suivante :

    • Windows :

      Copy code
      copy "<Path_of_copied_sample_XML>\<Report_Name>.xml" %WORKSPACE%
    • Non-Windows :

      Copy code
      cp -f <Path_of_copied_sample_XML>\<Report_Name>.xml {WORKSPACE}

Retour en haut

Configurer l’action post-compilation :

Suivre les étapes ci-dessous pour configurer l’action post-compilationMettre à jour les résultats du test vers ALM en utilisant le mappage de champ.

Pour configurer l’action post-compilation :

  1. Ouvrir une tâche Jenkins que vous avez créée sur Créer une tâche pour tester la configuration du complément ou une tâche Jenkins existante qui exécute des tests automatiquement.
  2. Cliquer sur Configurer. Dans la section Actions post-compilation, développer la liste déroulante Ajouter une action post-compilation et sélectionner Publier le résultat du test.

    Spécifier les éléments suivants :

    Champ Description
    ALM Server

    Sélectionnez l’un des serveurs que vous avez configuré à l’étape Configurer la connexion vers ALM.

    See https://github.com/jenkinsci/hpe-application-automation-tools-plugin/blob/latest/doc/ALM_Integration.md.

    Identifiants ALM

    Sélectionner une paire d’identifiants ALM. Si cela n’est pas disponible, cliquer sur Ajouter pour ajouter des informations d’identification.

    Domaine Entrer le nom de domaine.
    Projet Saisir le nom du projet.
    Type de client

    Entrez un type de client que vous pouvez utiliser pour accéder au serveur.

    Cela est requis uniquement lorsque la restriction API est activée dans le serveur. Ignorez ce champ s’il n’y a pas de restriction API dans le serveur.

    Dossier de test

    Saisir le chemin du dossier de test qui contiendra les tests téléchargés. Ne pas inclure le dossier de test racine(Objet) dans le chemin.

    Si certains dossiers du chemin d’accès n’existent pas dans OpenText Application Quality Management, le complément créera ces dossiers en fonction de la structure et créera une entité sous le chemin d’accès.

    Par exemple, si le dossier de test est sampletestfolder\subfolder, et si ni sampletestfolder ni subfolder n’existent, alors le complément créera le dossier sampletestfolder sous Subject, le dossier subfolder sous sampletestfolder, et un nouveau test sous subfolder.

    Le dossier de test prend en charge les variables d’environnement de Jenkins.

    Dossier Campagne de test

    Entrer le chemin du dossier campagne de test. Ne pas inclure le dossier racine de l’ensemble du test dans le chemin.

    Le complément recherche l’ensemble de l’arbre de campagne de test par le nom de campagne de test défini dans le fichier XML. Si aucun n’est trouvé, une nouvelle campagne de test est créée sous le chemin.

    Si des dossiers dans le chemin n’existent pas, le complément créera ces dossiers en se basant sur la structure.

    Le dossier campagne de tests prend en charge les variables d’environnement de Jenkins.

    Fichier de résultats des tests

    Spécifier le chemin d’accès au fichier XML des résultats du test dans la syntaxe globale Ant, comme **/*.xml. S’assurer de ne pas inclure de fichiers autres que des rapports dans ce modèle. Vous pouvez spécifier plusieurs modèles de fichiers séparés par des virgules.

    Mappage de champ

    Mettre en correspondance les éléments et attributs XML avec les entités et champs.

    Les mappages de champs prennent en charge l’utilisation des variables d’environnement de Jenkins.

    Pour plus d’informations, voir Comment définir les mappages de champs.

    Créer un nouveau test si aucune correspondance S’il faut créer ou non des tests dans OpenText Application Quality Management si aucun résultat correspondant n’est trouvé.
    Mappage du statut d’exécution

    Mapper les valeurs de statut de test avec les valeurs de statut d’exécution.

    Conditions préalables : Vous devez mapper un élément ou un attribut XML au champ de statut.

    Vous pouvez mapper à la fois les statuts d’exécution du système, tels que Non exécuté, Succès, Échec, Bloqué et Non terminé, et les statuts définis par l’utilisateur.

    Pour un exemple de mappage d’état d’exécution, voir Exemple de mappage du statut d'exécution.

    • Si les valeurs de statut dans le fichier XML sont les mêmes que les valeurs de statut, vous n’avez pas besoin de définir le mappage de statut d’exécution.

    • Il n’est pas nécessaire de supprimer les mappages s’ils ne sont plus pertinents.

    • Pour s’assurer que le résultat du test peut être téléchargé avec succès, nous vous recommandons de répertorier toutes les mappages de statut possibles. Par exemple, les mappages suivants peuvent coexister. Tant qu’au moins un des mappages est valide, le résultat du test peut être téléchargé.

      Success: "Passed"
      True: "Passed" 1: "Passed"

Comment définir les mappages de champs

Le mappage est configuré au format YAML. Il doit comprendre les sections suivantes dans le même ordre : « testset », « test », et « run ». Dans chaque section, vous devez définir les valeurs des clés suivantes :

  • racine : Le chemin du nœud racine de la campagne de test, du test ou de l’exécution.
  • Tous les champs obligatoires de campagne de test, des tests et de l’exécution dans votre projet

    Une clé représente un champ de l’entité. Sa valeur représente la valeur de l’élément ou de l’attribut dans le fichier XML qui sera téléchargé dans le champ.

    Si vous voulez télécharger une valeur dans un champ du système, la clé doit être le nom du champ. Les noms des champs ALM ne sont pas toujours identiques aux étiquettes des champs. Vous devez utiliser les noms des champs ALM au lieu des étiquettes comme clés. Pour plus de détails sur la façon de connaître les noms des champs, voir API REST pour obtenir les noms des champs d’entités ALM.

    Si vous voulez télécharger une valeur dans un champ défini par l’utilisateur, la clé doit commencer par udf| suivie de l’étiquette du champ. Par exemple, si vous voulez télécharger une valeur dans le champ défini par l’utilisateur « Durée », la clé doit être udf|duration.

  • (Facultatif) Autres champs ALM que vous souhaitez mapper

Comment spécifier les valeurs ?

Il existe deux types de valeurs : Les valeurs qui commencent par x : et celles qui commencent par v :.

x :

La valeur qui suit x : est le XPath (XML Path Language) d’un élément ou d’un attribut du fichier XML.

Vous pouvez définir un chemin absolu (qui commence par /) ou un chemin relatif (qui commence directement par le nom de l’élément XML).

x :. signifie que le XPath est exactement le même que celui défini dans l’entité précédente. Par exemple, si la racine : « x :. » est définie dans la section « run », et la section « run » suit la section « test » dans le mappage des champs, alors cela signifie que la racine du run est la même que celle du test.

Si la valeur à télécharger dans un champ ALM est une valeur d’élément XML, ce qui suit x : doit être le nom de l’élément. Par exemple, x:durée. Si la valeur à télécharger est la valeur d’attribut d’un élément XML, ce qui suit x : doit être @<nom_attribut>. Par exemple, x:@length.

v :

La valeur qui suit v : est une valeur de chaîne fixe qui sera téléchargée dans une campagne de test, un test ou une exécution de test. Par exemple, si dans la section testset, il apparaît nom : « v:2021-01-29__Build_Verification_Test », alors le nom de campagne de test téléchargée dans ALM sera 2021-01-29__Build_Verification_Test.

Pour spécifier les valeurs du champ « Type » du système ALM, vous devez choisir les valeurs sur Types de campagne de test, test et exécution et les préfixer par v :.

Si une valeur est composée de valeurs provenant de plusieurs éléments ou attributs XML, utiliser | pour combiner toutes les parties de la valeur ensemble. Par exemple, x:file|v:_|x:name.

Pour le résultat de l’essai sur échantillon et le mappage de champ, voir Exemple de résultat de test XML et .

API REST pour obtenir les noms des champs d’entités ALM

Appeler les API REST suivantes pour obtenir les noms de champ des entités campagne de test, test et run. Le nom d’un champ est la valeur de l’attribut Nom de l’élément Champ.

Obtenir les noms des champs de la campagne de test http://<alm_server>:<port>/qcbin/rest/domains/<domain_name>/projects/<project_name>/customization/entities/test-set/fields?login-form-required=y
Obtenir les noms des champs du test http://<alm_server>:<port>/qcbin/rest/domains/<domain_name>/projects/<project_name>/customization/entities/test/fields?login-form-required=y
Obtenir les noms des champs de l’exécution http://<alm_server>:<port>/qcbin/rest/domains/<domain_name>/projects/<project_name>/customization/entities/run/fields?login-form-required=y

Types de campagne de test, test et exécution

Test set type
  • hp.qc.test-set.default
  • hp.qc.test-set.external
Test type
  • ALT-SCENARIO
  • ALT-TEST
  • BUSINESS-PROCESS
  • DB-TEST
  • EXTERNAL-TEST
  • FLOW
  • LEANFT-TEST
  • LR-SCENARIO
  • MANUAL
  • QAINSPECT-TEST
  • QTSAP-TESTCASE
  • QUICKTEST_TEST
  • SERVICE-TEST
  • SYSTEM-TEST
  • VAPI-XP-TEST
  • WR-AUTOMATED
  • WR-BATCH
  • XR-TEST
Run type
  • custom.run.LEANFT-TEST
  • hp.qc.run.ALT-SCENARIO
  • hp.qc.run.ALT-TEST
  • hp.qc.run.BUSINESS-PROCESS
  • hp.qc.run.DB-TEST
  • hp.qc.run.FLOW
  • hp.qc.run.LR-SCENARIO
  • hp.qc.run.MANUAL
  • hp.qc.run.QAINSPECT-TEST
  • hp.qc.run.QTSAP-TESTCASE
  • hp.qc.run.QUICKTEST_TEST
  • hp.qc.run.SERVICE-TEST
  • hp.qc.run.SYSTEM-TEST
  • hp.qc.run.VAPI-XP-TEST
  • hp.qc.run.WR-AUTOMATED
  • hp.qc.run.WR-BATCH
  • hp.qc.run.XR-TEST
  • hp.qc.run.external-test
  • hp.sprinter.run.SPRINTER

Échantillons

Retour en haut

Exécuter la tâche

Exécutez ou planifiez la tâche comme vous le feriez avec une tâche Jenkins standard.

Retour en haut

Une fois que le téléchargement a été effectué avec succès

  • Si aucune campagne de test existante n’est trouvée par les noms de campagnes de test définis dans le fichier XML, de nouvelles campagnes de test sont créées.
  • Si aucune instance de test existante n’est trouvée par les noms de test définis dans le fichier XML, de nouvelles instances de test sont créées.
  • Si les résultats de test à télécharger concernent les mêmes campagnes de test et tests existants, le complément ne crée que des exécutions de test dans les instances de test.

Retour en haut

Examiner les résultats

  1. Ouvrir la tâche Jenkins. Dans la section Historique des compilations, cliquer sur un ID compilation.
  2. Dans la page Build Details, cliquer sur Résultat console pour afficher le journal du téléchargement des résultats du test.

    Pour localiser rapidement le journal lié au téléchargement, rechercher le journal par « Démarrer connexion au serveur ALM ».

  3. Se connecter à ALM pour afficher les tests, les campagnes de test, les instances de tests et les exécutions de tests qui ont été créés dans ALM.

Note : Le résultat de la console est important pour comprendre les détails du fonctionnement du complément, notamment lorsque la tâche échoue au premier essai. Cela vous aide à trouver et à résoudre les problèmes.

Retour en haut

Voir aussi :