UiPath Documentation
cicd-integrations
2023.10
false
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Guide de l'utilisateur des intégrations CI/CD

Tester un package ou exécuter un ensemble de tests dans Test Manager

Tester un package ou exécuter un ensemble de tests dans Test Manager

Prérequis

  1. Utilisez la dernière version de Test Manager.

  2. Si vous avez déjà un ensemble de test en cours d’exécution dans Orchestrator, importez l’ensemble de test dans Test Manager. Pour de plus amples informations, consultez la section Test Manager – Importer des ensembles de tests Orchestrator. Obtenez la clé de l'ensemble de tests après l'importation.

  3. Créez un projet dans Test Manager et obtenez la clé du projet. Obtenez la clé du projet à partir de Test Manager > onglet Tableau de bord > Projets > Tous les projets.

  4. Créez un package ou un ensemble de test avec des cas de test automatisés. Obtenez la clé de l’ensemble de tests à partir de Test Manager > onglet Ensembles de tests > colonne Clé.

  5. Obtenez les objets IDClient et CléSecrèteClient. Pour plus d'informations sur la façon d'obtenir l'IDClient et la CléSecrèteClient, reportez-vous à la section Enregistrement d'une application externe de la rubrique Exécution des intégrations CI/CD - Exécution des tâches CLI UiPath .

  6. Exécutez le fichier CLI exe (pour Windows) ou dll (pour Linux).

  7. Ajoutez les étendues d'application d'accès à l'API Test Manager requises. Pour plus d'informations sur les étendues de Test Manager, reportez-vous à la rubrique Intégrations CI/CD - Exécution des tâches CLI UiPath .

Utilisation de Test Manager avec CLI

Pour tester un package à l'aide de Test Manager, procédez comme suit : Exécutez la tâche de test à l'aide de uipcli test. Vous remarquerez une liste de sous-tâches disponibles. Spécifiez les paramètres requis et exécutez la sous-tâche d’exécution.

Pour utiliser Test Manager au lieu des tests Orchestrator, spécifiez le paramètre --projectKey dans la commande test run . La CLI acheminera automatiquement vos tests via Test Manager.

Paramètres de la commande test
ParamètreDescriptionRequis
Orchestrator URL (pos. 0)Il s’agit de l’URL de votre Orchestrator.Oui (Yes)
Orchestrator Tenant (pos. 1)Le locataire à l’intérieur duquel se trouve le package ou l’ensemble de testsRequis pour les déploiements SaaS, facultatif pour les déploiements PaaS
-P, --project-pathLe chemin d'accès au fichier de package de test que vous souhaitez testerNon (No)
--projectKeyLa clé du projet affichée dans Test Manager > onglet Tableau de bord > Projets > Tous les projets. La clé du projet est le préfixe de toutes les clés d'objet.Oui (pour Test Manager)
--testsetkeyLa clé de l’ensemble de tests affichée dans le Test Manager Test Manager > onglet Ensembles de tests > colonne Clé. Assurez-vous que l'ensemble de tests inclut la version la plus récente des cas de test. Si l'ensemble de tests ne se trouve pas dans le dossier par défaut, assurez-vous d'inclure avant le nom du dossier pertinent. Par exemple, utilisez ÉquipeComptabilité\ EnsembleTest.Non (No)
-s, --testsetLe nom affiché pour l'ensemble de tests que vous souhaitez exécuter. Assurez-vous que l'ensemble de tests inclut la version la plus récente des cas de test. Si l'ensemble de tests ne se trouve pas dans le dossier par défaut, assurez-vous d'inclure avant le nom du dossier pertinent. Par exemple, utilisez ÉquipeComptabilité\ EnsembleTestNon (No)
--outLe type du fichier des résultatsNon (No)
-r, --result_pathLe chemin d'accès de destination du fichier dans lequel vous souhaitez stocker les résultatsNon (No)
-e, --environmentL'environnement dans lequel vous souhaitez déployer le package. Vous devez l’associer à l’ project pathRequis pour les dossiers classiques
-w, --timeoutLe temps (en secondes) pendant lequel vous souhaitez attendre que l'ensemble de tests s'exécute. La valeur par défaut est de 7 200 secondes.Non (No)
-i, --input_pathLe chemin complet d’accès à un fichier d’entrée json. Voir Format JSON des paramètres d'entrée pour plus de détails sur la structure du fichier.Requis si le workflow de point d'entrée comprend des paramètres d'entrée
--attachRobotLogsJoigne les journaux de robot pour chaque cas de test exécuté, ainsi qu’un rapport de test JUnitNon (No)
--repositoryUrlL'URL du référentiel dans lequel le projet est versionnéNon (No)
--repositoryCommitLa validation du référentiel à partir duquel le projet a été généréNon (No)
--repositoryBranchLa branche du référentiel à partir duquel le projet a été généréNon (No)
--repositoryTypeType de référentiel système VCSNon (No)
--projectUrlURL de l’idée Automation HubNon (No)
--releaseNotesAjouter des notes de publicationNon (No)
--disableBuiltInNugetFeedsDésactiver les flux NuGet intégrésNon (No)
--retryCountNombre de nouvelles tentatives pour les cas de test ayant échouéNon (No)
-u, --usernameLe nom d'utilisateur utilisé pour l'authentification auprès d'Orchestrator. Vous devez l'associer au mot de passe correspondantRequis pour l’authentification de base
-p, --passwordLe mot de passe utilisé pour l'authentification auprès d'Orchestrator. Vous devez l'associer au nom d'utilisateur correspondantRequis pour l’authentification de base
-t, --tokenLe jeton d’actualisation OAuth2 utilisé pour l’authentification auprès d’Orchestrator. Vous devez l’associer au nom du compte et à l’ID clientRequis pour l’authentification basée sur jeton
-a, --accountNameLe nom du compte Orchestrator CloudRPA. Vous devez l’associer au jeton d’actualisation OAuth2 et à l’ID clientRequis pour l’authentification basée sur jeton
-A, --accountForAppLe nom du compte Orchestrator CloudRPA (nom de l’organisation). Vous devez l’associer à l ’ID d’application, à la clé secrète de l’application et à l’ étendue de l’application pour une application externeNon (No)
-I, --applicationIdID d’application externe Vous devez l'associer au compte d'application, à l'ID d' application et à l'étendue de l'applicationRequis pour l’authentification d’application externe
-S, --applicationSecretLa clé secrète de l'application externe. Vous devez l'associer au compte d' application, à l'ID d' application et à l'étendue de l'applicationRequis pour l’authentification d’application externe
--applicationScopeLa liste des étendues d'application, séparées par des espaces simples. Vous devez l’associer à l’ID d’application, à la clé secrète de l’ application et à l’étendue de l’application pour l’application externeRequis pour l’authentification d’application externe
-o, --organizationUnitLe dossier Orchestrator dans lequel vous souhaitez exécuter les ensembles de testNon (No)
-l, --languageLa langue utilisée dans l’interface utilisateur d’OrchestratorNon (No)
--traceLevelAfficher le traçage des événementsNon (No)
--identityURLL'URL de votre serveur d'identitéRequis pour les déploiements PaaS ou MSI
Remarque : Étendues d'application requises pour Test Manager

Lorsque vous utilisez Test Manager, vous devez inclure les étendues suivantes dans le paramètre --applicationScope :

TM.Projects TM.TestSets TM.TestExecutions

En plus des étendues Orchestrator :

OR.Assets OR.BackgroundTasks OR.Execution OR.Folders OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read

Exemples d'utilisation

Exécuter un ensemble de tests existant dans Test Manager
# Windows
uipcli test run "https://cloud.uipath.com/" "TenantName" `
  --projectKey "MyTestProject" `
  --testsetkey "MyTestSet" `
  -A "organizationName" `
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" `
  -S "********" `
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" `
  -o "FolderName" `
  --out "junit" `
  --result_path "C:\TestResults"

# Linux
uipcli test run "https://cloud.uipath.com/" "TenantName" \
  --projectKey "MyTestProject" \
  --testsetkey "MyTestSet" \
  -A "organizationName" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" \
  -o "FolderName" \
  --out "junit" \
  --result_path "./test-results"
# Windows
uipcli test run "https://cloud.uipath.com/" "TenantName" `
  --projectKey "MyTestProject" `
  --testsetkey "MyTestSet" `
  -A "organizationName" `
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" `
  -S "********" `
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" `
  -o "FolderName" `
  --out "junit" `
  --result_path "C:\TestResults"

# Linux
uipcli test run "https://cloud.uipath.com/" "TenantName" \
  --projectKey "MyTestProject" \
  --testsetkey "MyTestSet" \
  -A "organizationName" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" \
  -o "FolderName" \
  --out "junit" \
  --result_path "./test-results"

Créer et exécuter un ensemble de tests temporaire à partir d'un projet

Les ensembles de test temporaires sont des ensembles de test temporaires créés à la volée à partir de votre chemin de projet.

uipcli test run "https://cloud.uipath.com/" "TenantName" \
  --projectKey "MyTestProject" \
  -P "./MyTestProject/project.json" \
  -e "TestEnvironment" \
  -A "organizationName" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" \
  -o "FolderName" \
  --out "uipath" \
  --result_path "./test-results"
uipcli test run "https://cloud.uipath.com/" "TenantName" \
  --projectKey "MyTestProject" \
  -P "./MyTestProject/project.json" \
  -e "TestEnvironment" \
  -A "organizationName" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" \
  -o "FolderName" \
  --out "uipath" \
  --result_path "./test-results"

Exécuter des tests avec des remplacements de paramètres

uipcli test run "https://cloud.uipath.com/" "TenantName" \
  --projectKey "MyTestProject" \
  --testsetkey "MyTestSet" \
  -i "./test-parameters.json" \
  -A "organizationName" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" \
  -o "FolderName" \
  --out "junit" \
  --result_path "./test-results"
uipcli test run "https://cloud.uipath.com/" "TenantName" \
  --projectKey "MyTestProject" \
  --testsetkey "MyTestSet" \
  -i "./test-parameters.json" \
  -A "organizationName" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" \
  -o "FolderName" \
  --out "junit" \
  --result_path "./test-results"

Exécuter des tests avec des journaux de robot en pièce jointe

uipcli test run "https://cloud.uipath.com/" "TenantName" \
  --projectKey "MyTestProject" \
  --testsetkey "MyTestSet" \
  --attachRobotLogs true \
  -A "organizationName" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" \
  -o "FolderName" \
  --out "junit" \
  --result_path "./test-results"
uipcli test run "https://cloud.uipath.com/" "TenantName" \
  --projectKey "MyTestProject" \
  --testsetkey "MyTestSet" \
  --attachRobotLogs true \
  -A "organizationName" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" \
  -o "FolderName" \
  --out "junit" \
  --result_path "./test-results"

Types de rapport

Test Manager prend en charge deux formats de sortie :

FormatDescriptionCas d'utilisation
junitFormat XML JUnitIntégration CI/CD (Jenkins, Azure DevOps, GitHub Actions)
uipathFormat natif UiPathRapports d'exécution détaillés avec des données spécifiques à Test Manager

Migration depuis les tests Orchestrator

Avant (test d'Orchestrator)

uipcli test run "https://cloud.uipath.com/" "TenantName" \
  -s "MyTestSet" \
  -u "username" \
  -p "password" \
  -o "FolderName" \
  -P "./project.json"
uipcli test run "https://cloud.uipath.com/" "TenantName" \
  -s "MyTestSet" \
  -u "username" \
  -p "password" \
  -o "FolderName" \
  -P "./project.json"

Après (Test Manager)

uipcli test run "https://cloud.uipath.com/" "TenantName" \
  --projectKey "MyTestProject" \
  --testsetkey "MyTestSet" \
  -A "organizationName" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" \
  -o "FolderName" \
  --out "junit" \
  --result_path "./results"
uipcli test run "https://cloud.uipath.com/" "TenantName" \
  --projectKey "MyTestProject" \
  --testsetkey "MyTestSet" \
  -A "organizationName" \
  -I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
  -S "********" \
  --applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions OR.Assets OR.BackgroundTasks OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read" \
  -o "FolderName" \
  --out "junit" \
  --result_path "./results"

Principales différences

  1. Ajoutez le paramètre --projectKey pour activer Test Manager
  2. Utiliser --testsetkey au lieu de -s pour l'identification de l'ensemble de tests
  3. Test Manager nécessite une authentification OAuth
  4. Spécifiez le format de sortie avec --out et la destination avec --result_path
  5. Inclure les étendues Test Manager dans --applicationScope

Meilleures pratiques

Configuration de Test Manager

  • Créez des projets Test Manager dédiés pour différentes applications ou équipes
  • Utilisez des clés de projet et des clés d'ensemble de test significatives pour une identification facile
  • Organiser les ensembles de tests par objectif (régression, fumée, intégration, etc.)

Gestion des paramètres

  • Utiliser des fichiers de paramètres (-i) pour les configurations spécifiques à l'environnement
  • Stockez les paramètres sensibles dans les clés secrètes CI/CD, pas dans les fichiers de paramètres
  • Documentez les paramètres requis dans les descriptions de votre ensemble de tests

Logique de nouvelle tentative

  • Utilisez --retryCount pour les tests factices qui peuvent échouer par intermittence
  • Définissez les valeurs --timeout appropriées en fonction de la durée du test
  • Surveillez les schémas de nouvelles tentatives pour identifier et corriger les tests instables

Rapports

  • Utiliser le format junit pour l’intégration du pipeline CI/CD
  • Utilisez le format uipath pour une analyse détaillée dans Test Manager
  • Activer --attachRobotLogs pour le débogage des échecs de test

Intégration CI/CD

  • Configurer l'authentification de Test Manager à l'aide de variables d'environnement sécurisées
  • Configurez l’exécution automatisée de tests sur des validations de code ou des demandes pull
  • Archiver les rapports de test en tant qu’artefacts de création pour l’historique de suivi

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour