- Überblick
- UiPath-CLI
- Über UiPath-CLI
- Herunterladen der UiPath-CLI
- Kompatibilitätsmatrix
- Ausführen der UiPath-CLI
- Verwalten von NuGet-Feeds
- Über UiPath CLI-Aufgaben
- Packen von Projekten in ein Paket
- Analysieren eines Projekts
- Bereitstellen eines Pakets im Orchestrator
- Ausführen eines Auftrags im Orchestrator
- Testen eines Pakets oder Ausführen eines Testsatzes
- Testen eines Pakets oder Ausführen eines Testsatzes im Test Manager
- Testen mehrerer Pakete
- Eingabeparameter JSON-Format
- Bereitstellen von Assets im Orchestrator
- Löschen von Assets aus dem Orchestrator
- Ausführen von Aufgaben mithilfe der JSON-Konfiguration
- Wiederherstellen von Automatisierungsabhängigkeiten
- Fehlerbehebung bei der UiPath-CLI
- Azure DevOps-Erweiterung
- Jenkins-Plugin
Benutzerhandbuch zu CI/CD-Integrationen
Testen eines Pakets oder Ausführen eines Testsatzes im Test Manager
Voraussetzungen
-
Verwenden Sie die neueste Test Manager-Version (Test Manager 2.2510 oder höher für die Bereitstellung der Automation Suite oder Test Manager 25.10 oder höher für die eigenständige Installation).
-
Wenn Sie bereits einen Testsatz im Orchestrator ausführen, importieren Sie den Testsatz im Test Manager. Weitere Informationen finden Sie unter Test Manager – Importieren von Orchestrator-Testsätzen. Rufen Sie den Testsatzschlüssel nach dem Import ab.
-
Erstellen Sie ein Projekt im Test Manager und rufen Sie den Projektschlüssel ab. Rufen Sie den Projektschlüssel ab unter Test Manager > Registerkarte Dashboard > Projekte > Alle Projekte.
-
Erstellen Sie ein Paket oder einen Testsatz mit automatisierten Testfällen. Rufen Sie den testset-key ab: Test Manager > Registerkarte Testsätze > Spalte Schlüssel.
-
Rufen Sie die ClientID und das ClientGeheimnis ab. Weitere Informationen zum Abrufen der ClientID und des ClientGeheimnis finden Sie im Abschnitt Registrieren einer externen Anwendung des Themas CI/CD-Integrationen – Ausführen von UiPath-CLI-Aufgaben .
-
Führen Sie die CLI-Datei
exe(für Windows) oderdll(für Linux) aus. -
Fügen Sie die erforderlichen Anwendungs-Scopes für den Zugriff über die Test Manager-API hinzu. Weitere Informationen zu den Test Manager-Scopes finden Sie im Thema CI/CD-Integrationen – Ausführen von UiPath CLI-Aufgaben .
Verwenden des Test Managers mit CLI
Um ein Paket mit dem Test Manager zu testen, führen Sie die folgenden Schritte aus: Führen Sie die Testaufgabe mit uipcli test aus. Sie sehen eine Liste der verfügbaren Unteraufgaben. Geben Sie die erforderlichen Parameter an und führen Sie die Unteraufgabe aus.
Um Test Manager anstelle von Orchestrator zu verwenden, geben Sie den Parameter --projectKey im Befehl test run an. Die CLI leitet Ihre Tests automatisch über den Test Manager weiter.
Testbefehlsparameter
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
Orchestrator URL (pos. 0) | Die URL der Orchestrator-Instanz | Ja |
Orchestrator Tenant (pos. 1) | Der Mandant, in dem sich das Paket oder der Testsatz befindet | Erforderlich für SaaS-Bereitstellungen, Optional für PaaS-Bereitstellungen |
-P, --project-path | Der Pfad zur Testpaketdatei, die Sie testen möchten | Nein |
--projectKey | Der Projektschlüssel, angezeigt unter Test Manager > Registerkarte Dashboard > Projekte > Alle Projekte. Der Projektschlüssel ist das Präfix für alle Objektschlüssel. | Ja (für Test Manager) |
--testsetkey | Der Testsatzschlüssel, der unter Test Manager Test Manager > Registerkarte Testsätze > Spalte Schlüssel angezeigt wird. Stellen Sie sicher, dass der Testsatz die neueste Version der Testfälle enthält. Wenn sich der Testsatz nicht im Standardordner befindet, stellen Sie sicher, dass Sie den entsprechenden Ordnernamen davor einschließen. Verwenden Sie beispielsweise AccountingTeam\TestSet. | Nein |
-s, --testset | Der Name, der für den Testsatz angezeigt wird, den Sie ausführen möchten. Stellen Sie sicher, dass der Testsatz die neueste Version der Testfälle enthält. Wenn sich der Testsatz nicht im Standardordner befindet, stellen Sie sicher, dass Sie den entsprechenden Ordnernamen davor einschließen. Verwenden Sie beispielsweise AccountingTeam\TestSet | Nein |
--out | Der Typ der Ergebnisdatei (Junit oder uipath) | Nein |
-r, --result_path | Der Zielpfad der Datei, in der Sie die Ergebnisse speichern möchten | Nein |
-e, --environment | Die Umgebung, in der Sie das Paket bereitstellen möchten. Sie müssen es mit koppeln project path | Erforderlich für klassische Ordner |
-w, --timeout | Die Zeit (in Sekunden), die Sie auf die Ausführung des Testsatzes warten möchten. Der Standardwert ist 7200 Sekunden | Nein |
-i, --input_path | Der vollständige Pfad zu einer JSON-Eingabedatei. Weitere Informationen zur Dateistruktur finden Sie unter JSON-Format der Eingabeparameter . | Erforderlich, wenn der Einstiegspunkt-Workflow Eingabeparameter hat |
--attachRobotLogs | Fügt Roboterprotokolle für jeden ausgeführten Testfall und einen JUnit-Testbericht an | Nein |
--repositoryUrl | Die Repository-URL, unter der das Projekt versioniert wird | Nein |
--repositoryCommit | Der Repository-Commit, aus dem das Projekt erstellt wurde | Nein |
--repositoryBranch | Der Repository-Zweig, aus dem das Projekt erstellt wurde | Nein |
--repositoryType | Repository-Typ des VCS-Systems | Nein |
--projectUrl | URL der Automation Hub-Idee | Nein |
--releaseNotes | Versionshinweise hinzufügen | Nein |
--disableBuiltInNugetFeeds | Deaktivieren Sie integrierte NuGet-Feeds | Nein |
--retryCount | Anzahl der Wiederholungen für fehlgeschlagene Testfälle (standardmäßig ist kein Wiederholungsversuch festgelegt) | Nein |
-u, --username | Der Benutzername, der für die Authentifizierung beim Orchestrator verwendet wird. Sie müssen es mit dem entsprechenden Kennwort koppeln | Erforderlich für die Standardauthentifizierung |
-p, --password | Das Kennwort, das für die Authentifizierung beim Orchestrator verwendet wird. Sie müssen es mit dem entsprechenden Benutzernamen koppeln | Erforderlich für die Standardauthentifizierung |
-t, --token | Das OAuth2-Aktualisierungstoken, das für die Authentifizierung bei Orchestrator verwendet wird. Sie müssen es mit dem Kontonamen und der Client-ID koppeln | Erforderlich für tokenbasierte Authentifizierung |
-a, --accountName | Der Name des Orchestrator CloudRPA-Kontos. Sie müssen es mit dem OAuth2-Aktualisierungstoken und der Client-ID koppeln | Erforderlich für tokenbasierte Authentifizierung |
-A, --accountForApp | Der Name des Orchestrator CloudRPA-Kontos (Organisationsname). Sie müssen ihn mit der Anwendungs-ID, dem Anwendungsgeheimnis und dem Anwendungs-Scope für eine externe Anwendung koppeln | Nein |
-I, --applicationId | Die ID der externen Anwendung. Sie müssen es mit dem Anwendungskonto, dem Anwendungsgeheimnis und dem Anwendungs-Scope koppeln | Erforderlich für die Authentifizierung externer Anwendungen |
-S, --applicationSecret | Das Geheimnis externen Anwendung. Sie müssen es mit dem Anwendungskonto, der Anwendungs-ID und dem Anwendungs-Scope koppeln | Erforderlich für die Authentifizierung externer Anwendungen |
--applicationScope | Die Liste der Anwendungs-Scopes, getrennt durch einzelne Leerzeichen. Sie müssen es mit dem Anwendungskonto, der Anwendungs-ID und dem Anwendungsgeheimnis für eine externe Anwendungen koppeln. | Erforderlich für die Authentifizierung externer Anwendungen |
-o, --organizationUnit | Der Orchestrator-Ordner, in dem Sie die Testsätze ausführen möchten | Nein |
-l, --language | Die Sprache, die in der Orchestrator-Benutzeroberfläche verwendet wird | Nein |
--traceLevel | Zeigen Sie die Ablaufverfolgung der Ereignisse an | Nein |
--identityURL | Die URL Ihres Identity Server | Erforderlich für PaaS- oder MSI-Bereitstellungen |
Wenn Sie den Test Manager verwenden, müssen Sie die folgenden Scopes in den Parameter --applicationScope aufnehmen:
TM.Projects TM.TestSets TM.TestExecutions
Zusätzlich zu Orchestrator-Scopes:
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
Anwendungsbeispiele
Führen Sie einen vorhandenen Testsatz im Test Manager aus:
# 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"
Erstellen und Ausführen eines vorübergehenden Testsatzes aus einem Projekt:
Vorübergehende Testsätze sind temporäre Testsätze, die während der Ausführung Ihres Projektpfads erstellt werden.
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"
Führen Sie Tests mit Parameterübersteuerungen aus:
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"
Tests mit Roboterprotokollanhang ausführen:
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"
Berichtstypen
Test Manager unterstützt zwei Ausgabeformate:
| Format | Beschreibung | Anwendungsfall |
|---|---|---|
junit | JUnit-XML-Format | CI/CD-Integration (Jenkins, Azure DevOps, GitHub Actions) |
uipath | Native UiPath-Format | Detaillierte Ausführungsberichte mit Test Manager-spezifischen Daten |
Migration von Orchestrator-Tests
Vorher (Orchestrator-Tests):
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"
Nachher (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"
Hauptunterschiede:
- Fügen Sie den Parameter
--projectKeyhinzu, um den Test Manager zu aktivieren - Verwenden Sie für die Testsatzidentifizierung
--testsetkeyanstatt-s - Test Manager erfordert OAuth-Authentifizierung (Anwendungsanmeldeinformationen)
- Ausgabeformat mit
--outund Ziel mit--result_pathangeben - Test Manager-Scopes in
--applicationScopeeinschließen
Best Practices
Test Manager-Setup:
- Erstellen Sie dedizierte Test Manager-Projekte für verschiedene Anwendungen oder Teams
- Verwenden Sie aussagekräftige Projektschlüssel und Testsatzschlüssel für eine einfache Identifizierung
- Testsätze nach Zweck organisieren (Regression, Smoke, Integration usw.)
Parameterverwaltung:
- Verwenden Sie Parameterdateien (
-i) für Umgebungsspezifische Konfigurationen - Speichern Sie vertrauliche Parameter in CI/CD-Geheimnissen und nicht in Parameterdateien
- Dokumentieren Sie die erforderlichen Parameter in Ihren Testsatzbeschreibungen
Wiederholungslogik:
- Verwenden Sie
--retryCountfür fehlerhafte Tests, die zeitweise fehlschlagen können - Legen Sie geeignete
--timeout-Werte basierend auf der Testdauer fest - Überwachen Sie Wiederholungsmuster, um instabile Tests zu identifizieren und zu beheben
Berichterstellung:
- Verwenden Sie das Format
junitfür die CI/CD-Pipelineintegration - Verwenden Sie das Format
uipathfür die detaillierte Analyse im Test Manager - Aktivieren Sie
--attachRobotLogsfür das Debuggen von Testfehlern
CI/CD-Integration:
- Konfigurieren Sie die Test Manager-Authentifizierung mit sicheren Umgebungsvariablen
- Richten Sie eine automatisierte Testausführung für Code-Commits oder Pull-Anforderungen ein
- Archivieren Sie Testberichte als Build-Artefakte für die historische Nachverfolgung