- Überblick
- UiPath-CLI
- Über UiPath-CLI
- Herunterladen der UiPath-CLI
- Kompatibilitätsmatrix
- Ausführen der UiPath-CLI
- Verwalten von NuGet-Feeds
- Trusting custom certificates
- Test Manager-Support
- Packen von Projekten in ein Paket
- Signieren von Projektpaketen
- Analysieren eines Projekts
- Bereitstellen eines Pakets im Orchestrator
- Ausführen eines Auftrags im Orchestrator
- Testen eines Pakets oder Ausführen eines Testsatzes
- 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
- Überblick
- Wiederherstellen und Analysieren von Lösungen
- Eine Lösung wird gepackt
- Signieren von Lösungspaketen
- Hochladen und Löschen von Lösungspaketen
- Herunterladen von Lösungspaketen und Konfigurationen
- Bereitstellen und Aktivieren von Lösungen
- Deinstallieren von Bereitstellungen
- Authentifizierung und Scopes
- 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 auf einen vorhandenen Testsatz aus Orchestrator verweisen, importieren Sie den Testsatz in 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: Test Manager > Alle Projekte > Wechseln Sie zum Drei-Punkte-Menü des Projekts > Bearbeiten > Präfix.
-
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 Datei uipcli.dll für Windows/Linux/maOS 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 wählen Sie die ausgeführte Unteraufgabe aus.
Um Test Manager anstelle von Orchestrator-Tests zu verwenden, geben Sie den Parameter --projectKey im Befehl test run an. Die CLI führt Ihre Tests automatisch über den Test Manager aus.
Testbefehlsparameter
| Parameter | Beschreibung | Erforderlich |
|---|---|---|
Orchestrator URL (pos. 0) | Die URL der Orchestrator-Instanz | Ja |
Orchestrator Tenant (pos. 1) | Der Mandant, in dem sich das Test Manager-Projekt 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 für das Projekt kein Standardordner festgelegt ist, stellen Sie sicher, dass Sie einen Testordner auf Testsatzebene zuweisen. | 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 für das Projekt kein Standardordner festgelegt ist, stellen Sie sicher, dass Sie einen Testordner auf Testsatzebene zuweisen. | 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 |
--nugetConfigFilePath | Pfad zur NuGet.Config-Datei mit Feeds. Das <clear /> -Tag von der angegebenen Datei wird ignoriert und nur Quellen berücksichtigt. | 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. | Optional für die Authentifizierung externer Anwendungen. Verwenden von Standard-Scopes, wenn nicht anders angegeben |
-o, --organizationUnit | Der Orchestrator-Ordner, in dem Sie die Testsätze ausführen möchten | Nein |
--author | Der Paketautor. | 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 |
--ca-cert | Trusted root CA file(s) (PEM, DER, or PKCS#7) for the Orchestrator/Identity TLS certificate. Repeat or comma-separate. See Trusting custom certificates. | Nein |
--pinnedpubkey | Pin the leaf public key (sha256//<base64>). See Trusting custom certificates. | Nein |
For Orchestrator instances signed by a private Certificate Authority (such as UiPath Automation Suite), this command also accepts --ca-cert and --pinnedpubkey parameters. See Trusting custom certificates for scenarios and examples.
Wenn Sie die Authentifizierung einer externen Anwendung verwenden, ohne den Parameter --applicationScope anzugeben, wendet die CLI automatisch diese standardmäßigen Test Manager-Scopes an:
TM.Projects TM.TestSets TM.TestExecutions
Zusätzlich zu den standardmäßigen OR-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" `
-o "FolderName" `
--out "junit" `
--result_path "C:\TestResults"
--author ExampleAuthor
# Linux/macOS
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" \
-o "FolderName" \
--out "junit" \
--result_path "./test-results"
--author ExampleAuthor
# 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" `
-o "FolderName" `
--out "junit" `
--result_path "C:\TestResults"
--author ExampleAuthor
# Linux/macOS
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" \
-o "FolderName" \
--out "junit" \
--result_path "./test-results"
--author ExampleAuthor
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" \
-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" \
-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" \
-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" \
-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" \
-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" \
-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" \
-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" \
-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
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