- Erste Schritte mit der Test Suite
- Studio
- Orchestrator
- Testing Robots
- Test Manager
- CI/CD-Integrationen
Test Suite-Benutzerhandbuch
Jenkins-Plugin
Mit diesem Plugin können Sie UiPath-Automatisierungsprozesse erstellen und bereitstellen sowie automatisierte UiPath-Testfälle ausführen.
Um Projekte zu packen, die mit UiPath Studio ab 2020.10 erstellt wurden, müssen Sie eine Version ab 2.1 dieser Erweiterung verwenden.
- Jenkins-Server, der unter Windows oder Linux ausgeführt wird.
- Mindestens ein Jenkins-Slave, der unter Windows ausgeführt wird (erforderlich für die Schrittausführung).
-
Orchestrator-Instanz (Standard-, Verbund- oder Cloud-Authentifizierung werden unterstützt).
- Zum Testen der Funktionen ist die Orchestrator-Version 2020.4 oder höher erforderlich.
- Wenn Sie einen lokalen Orchestrator unter HTTPS verwenden, müssen Sie das SSL-Zertifikat importieren, damit den HTTPS-Aufrufen an den Orchestrator vertraut werden kann.
Der Post-Build-Schritt „UiPath Run Job“ startet einen bereits bereitgestellten Prozess auf einer Orchestrator-Instanz. Die Prozesse, auf die sich diese Aufgabe bezieht, finden Sie unter Automatisierungen->Prozesse bei neueren Versionen von Orchestrator und direkt auf der Registerkarte Prozesse bei älteren Versionen von Orchestrator.
Konfiguration
Auftragsparameter |
Beschreibung |
---|---|
Prozess (erforderlich) |
Prozessname. Sie können den Prozessnamen aus der Orchestrator-UI verwenden. Wenn der Prozess in einem modernen Ordner bereitgestellt wird, sollte dieses Argument der Name des Prozesses auf der Registerkarte Prozesse sein. Wenn der Prozess in einem klassischen Ordner bereitgestellt wird, muss das Argument aus dem Namen des Prozesses und der Umgebung bestehen (z. B.
NAME: ProcessA ENVIRONMENT: Production ProcessName: ProcessA_Production ).
|
Parameter |
Der vollständige Pfad zu einer JSON-Eingabedatei. Dies wird verwendet, wenn der Prozess eine Eingabe erfordert. |
Priorität |
Die Priorität der Auftragsausführung. |
Strategy |
Geben Sie die Auftragsausführungsstrategie, dynamisch zugeordnete Aufträge oder roboterspezifische Aufträge an. Es gibt die folgenden Optionen:
|
Auftragstyp (nur für moderne Ordner verfügbar) |
Wählen Sie das Lizenzmodell der Runtime aus, unter der der Auftrag ausgeführt werden soll. |
Orchestrator-Adresse |
Die Adresse der Orchestrator-Instanz, in der Sie den Prozess ausführen. |
Orchestrator-Mandant |
Geben Sie den Orchestrator-Mandanten an. |
Orchestrator-Ordner |
Geben Sie den Ordner an, in dem der angegebene Prozess bereitgestellt wurde. |
Authentication |
Für die Authentifizierung gegenüber Orchestrator müssen Sie im Voraus Anmeldeinformationen in Jenkins erstellen. Es gibt vier Optionen für die Authentifizierung: (1) Authentifizierung bei einer lokalen Orchestrator-Instanz mit einem Benutzernamen und einem Kennwort. (2) Authentifizieren Sie sich bei einem Cloud Orchestrator mithilfe eines Aktualisierungstokens (API-Schlüssel). (3) Authentifizieren Sie sich bei einem Cloud-Orchestrator mithilfe einer externen App-Authentifizierung. (4) Authentifizieren Sie sich bei einem lokalen Orchestrator mithilfe der externen App-Authentifizierung. |
Ausgabepfad der Auftragsergebnisse |
Geben Sie den Ausgabepfad der Auftragsergebnisse an (z. B.
testResults.json ). Die Ergebnisse werden im JSON-Format ausgegeben.
Wenn nicht angegeben, werden die Ergebnisse als
UiPathResults.json an das Artefakt-Staging-Verzeichnis ausgegeben. Die Ausgabe ist im JSON-Format.
|
Zeitüberschreitung |
Geben Sie das Timeout für Auftragsausführungen in Sekunden an. |
Fehlschlagen bei Auftragsfehler |
Die Aufgabe schlägt fehl, wenn mindestens ein Auftrag fehlschlägt. Der Standardwert ist True. |
Auf Auftragsabschluss warten |
Es wird auf den Abschluss der Auftragsausführung gewartet. Der Standardwert ist True. |
Protokollierungsstufe der Ablaufverfolgung |
Einstellung zum Aktivieren der Ablaufverfolgungsprotokollierung auf einer der folgenden Ebenen:
|
Anzahl von Aufträgen |
Die Anzahl der Auftragsausführungen. Der Standardwert ist 1. |
Benutzer (nur für moderne Ordner verfügbar) |
Der Name des Benutzers. Dies muss ein Maschinenbenutzer und kein Orchestrator-Benutzer sein. Für lokale Benutzer sollte das Format MaschinenName\))\))BenutzerName. |
Maschine (nur für moderne Ordner verfügbar) |
Der Name des Computers. |
Roboternamen |
Kommagetrennte Liste bestimmter Roboternamen. |
Pipeline-Beispiel
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Dynamically(jobsCount: 1, machine: 'TestMachine', user: 'TestUser'), timeout: 3600, waitForJobCompletion: true, traceLoggingLevel: 'None'
)
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Robot('robot1,robot2'),
timeout: 1800,
waitForJobCompletion: false,
traceLoggingLevel: 'None'
)
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Dynamically(jobsCount: 1, machine: 'TestMachine', user: 'TestUser'), timeout: 3600, waitForJobCompletion: true, traceLoggingLevel: 'None'
)
UiPathRunJob(
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
failWhenJobFails: true,
folderName: 'A_Classic',
orchestratorAddress: 'https://testorchestrator.some-domain.com',
orchestratorTenant: 'Default',
parametersFilePath: '',
priority: 'Low',
processName: 'ProcessA_EnvB',
resultFilePath: 'output.json',
strategy: Robot('robot1,robot2'),
timeout: 1800,
waitForJobCompletion: false,
traceLoggingLevel: 'None'
)
}
}
}
uft-8
codiert ist.
name,type,value,description
asset_1_name,text,asset_value,this is an test description # we can have comments
asset_2_name,integer,123
asset_3_name,boolean,false
asset_4_name,credential,"username::password"
name,type,value,description
asset_1_name,text,asset_value,this is an test description # we can have comments
asset_2_name,integer,123
asset_3_name,boolean,false
asset_4_name,credential,"username::password"
Es gibt vier Arten von Assets:
- Text
- Integer
- Boolescher
-
Anmeldeinformationen. Für die Anmeldeinformationen müssen Sie den Benutzernamen und das Kennwort codieren, indem Sie
::
verwenden, um die beiden Felder zu trennen.
Konfiguration
Auftragsparameter |
Beschreibung |
---|---|
Aktion |
Was mit den bereitgestellten Assets zu tun ist: Bereitstellen oder Löschen. Wenn ein bereitgestelltes Asset vorhanden ist, wird es stattdessen aktualisiert. |
Orchestrator-Adresse |
Die Adresse der Orchestrator-Instanz, in der Sie Assets bereitstellen oder aktualisieren. |
Orchestrator-Mandant |
Geben Sie den Orchestrator-Mandanten an, auf dem die Assets bereitgestellt oder aktualisiert werden sollen. |
Orchestrator-Ordner |
Geben Sie den Ordner an, in dem Assets bereitgestellt oder aktualisiert werden. |
Authentication |
Für die Authentifizierung gegenüber Orchestrator müssen Sie im Voraus Anmeldeinformationen in Jenkins erstellen. Es gibt vier Optionen für die Authentifizierung: (1) Authentifizierung bei einer lokalen Orchestrator-Instanz mit einem Benutzernamen und einem Kennwort. (2) Authentifizieren Sie sich bei einem Cloud Orchestrator mithilfe eines Aktualisierungstokens (API-Schlüssel). (3) Authentifizieren Sie sich bei einem Cloud-Orchestrator mithilfe einer externen App-Authentifizierung. (4) Authentifizieren Sie sich bei einem lokalen Orchestrator mithilfe der externen App-Authentifizierung. |
CSV-Dateipfad |
Der Pfad zur CSV-Datei mit den Asset-Details. Dieselbe Datei kann zum Bereitstellen oder Aktualisieren der Assets verwendet werden, obwohl der Typ für Updates nicht erforderlich ist. Das Feld
type kann auch leer sein, aber die Spalte muss vorhanden sein. Beim Löschen wird nur die Spalte name verwendet, sodass die anderen Spalten leer sein können, aber vorhanden sein müssen.
Sie können für jedes Asset eine optionale Beschreibung festlegen (z. B.:
type , value , description ). Stellen Sie sicher, dass Sie alle Zeilenumbrüche entfernen, da jede Zeile als neues Asset interpretiert wird.
|
Protokollierungsstufe der Ablaufverfolgung |
Einstellung zum Aktivieren der Ablaufverfolgungsprotokollierung auf einer der folgenden Ebenen:
|
Pipeline-Beispiel
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathAssets (
assetsAction: DeployAssets(),
credentials: Token(accountName: '', credentialsId: ''),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
UiPathAssets(
assetsAction: DeleteAssets(),
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
UiPathAssets (
assetsAction: DeployAssets(),
credentials: Token(accountName: '', credentialsId: ''),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
UiPathAssets(
assetsAction: DeleteAssets(),
credentials: UserPass('825c83c9-9a14-44eb-883a-af54f8078af0'),
filePath: '${WORKSPACE}/test.csv',
folderName: 'Default',
orchestratorAddress: 'https://test-orchestrator.somedomain.com',
orchestratorTenant: 'Default',
traceLoggingLevel: 'None'
)
}
}
}
Anwendung: RPA Typ: Build-Aufgabe UiPath Pack ist in Standardaufträgen und Pipelines verfügbar und ermöglicht das Verpacken eines vorhandenen UiPath-Projekts in ein NuGet-Paket.
Konfiguration
Auftragsparameter |
Beschreibung |
---|---|
Versionsverwaltungsmethode auswählen |
UiPath-Pakete sind versioniert. Mit dem UiPath-Paket können Sie zwischen 3 verschiedenen Optionen wählen: (1) Automatisch generieren (2) Benutzerdefinierte Version definieren (3) Verwenden Sie die aktuelle Version, die im Projekt festgelegt ist. |
Projektpfad |
Speicherort der zu packenden Projekte. Dies kann ein direkter Pfad zu einer
project.json -Datei oder einem Verzeichnis mit einem oder mehreren Projekten sein. Im letzteren Fall wird jedes Projekt der Ebene eins einzeln gepackt.
|
Ausgabeordner |
Pfad zu einem Ordner, in dem Sie das Paket erstellen möchten. |
Ausgabetyp |
Der Ausgabetyp des Projekts/der Projekte. Es gibt 5 Optionen für den/die Projekttyp(e): (1) Ausgabetyp des Projekts (2) Verpacken eines Prozessprojekts (3) Ein Bibliotheksprojekt packen (4) Packen Sie ein Testprojekt (5) Packen Sie ein Objektprojekt. |
Workflow-Analyse ausführen |
Führen Sie die Workflow-Analyse vor dem Packen aus und überprüfen Sie das Projekt anhand vordefinierter Regeln auf Verstöße. Bei Fehlern wird der Auftrag fehlgeschlagen. Standardmäßig wird die Analyse nicht ausgeführt. |
Protokollierungsstufe der Ablaufverfolgung |
Einstellung zum Aktivieren der Ablaufverfolgungsprotokollierung auf einer der folgenden Ebenen:
|
Orchestrator verwenden |
Verwenden Sie den Orchestrator-Feed, wenn Sie Bibliotheken verpacken. Der Orchestrator muss 20.4 oder höher sein. Der Bibliotheksfeed muss die API-Schlüssel-Authentifizierung unter Mandant > Einstellung > Bereitstellungzulassen. |
Orchestrator-Adresse |
Die Adresse der Orchestrator-Instanz, auf der Bibliotheksabhängigkeiten wiederhergestellt werden sollen. |
Orchestrator-Mandant |
Der Orchestrator-Mandant, von dem Bibliotheksabhängigkeiten wiederhergestellt werden sollen. |
Authentication |
Für die Authentifizierung gegenüber Orchestrator müssen Sie im Voraus Anmeldeinformationen in Jenkins erstellen. Es gibt vier Optionen für die Authentifizierung: (1) Authentifizierung bei einer lokalen Orchestrator-Instanz mit einem Benutzernamen und einem Kennwort. (2) Authentifizieren Sie sich bei einem Cloud Orchestrator mithilfe eines Aktualisierungstokens (API-Schlüssel). (3) Authentifizieren Sie sich bei einem Cloud-Orchestrator mithilfe einer externen App-Authentifizierung. (4) Authentifizieren Sie sich bei einem lokalen Orchestrator mithilfe der externen App-Authentifizierung. |
Pipeline-Beispiel
ipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
steps {
UiPathPack (
outputPath: "Output\)\)\)\)${env.BUILD_NUMBER}",
projectJsonPath: "UiBank\)\)\)\)project.json",
version: [$class: 'ManualVersionEntry', version: "${MAJOR}.${MINOR}.${env.BUILD_NUMBER}"]
useOrchestrator: true,
traceLoggingLevel: "None",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”]
)
}
}
}
}
ipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('Build') {
steps {
UiPathPack (
outputPath: "Output\)\)\)\)${env.BUILD_NUMBER}",
projectJsonPath: "UiBank\)\)\)\)project.json",
version: [$class: 'ManualVersionEntry', version: "${MAJOR}.${MINOR}.${env.BUILD_NUMBER}"]
useOrchestrator: true,
traceLoggingLevel: "None",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”]
)
}
}
}
}
Anwendung: RPA Typ: Post-Build-Aufgabe UiPath Deploy ist in Standardaufträgen und Pipelines verfügbar und ermöglicht Ihnen die Bereitstellung eines UiPath NuGet-Pakets auf dem UiPath Orchestrator.
Konfiguration
Auftragsparameter |
Beschreibung |
---|---|
Paketpfad |
Der Ordner, der Ihre UiPath-Nuget-Pakete enthält. |
Orchestrator-Adresse |
Die Adresse der Orchestrator-Instanz, auf der die Pakete bereitgestellt werden sollen. |
Orchestrator-Mandant |
Der Orchestrator-Mandant, auf dem die Pakete bereitgestellt werden sollen. |
Orchestrator-Ordner |
Der Ordner, in dem bereitgestellt werden soll. Wenn es sich bei dem Ordner um einen klassischen Ordner handelt, müssen Sie auch das Umgebungsfeld (
environments ) festlegen.
Für moderne Ordner ist das Festlegen der Umgebungen (
environments ) nicht erforderlich.
|
Umgebungen (erforderlich für klassische Ordner) |
Die Umgebung, in der das Paket als Prozess bereitgestellt wird. Für das Projekt und die Umgebung mit vorhandenen Prozessen werden die Prozesse aktualisiert, um die neueste Projektversion zu verwenden. Geben Sie die Umgebung an, in der das Paket als Prozess bereitgestellt wird. Für das Projekt und die Umgebung mit vorhandenen Prozessen werden die Prozesse aktualisiert, um die neueste Projektversion zu verwenden. |
Einstiegspunkte |
Geben Sie Einstiegspunkte an, um einen Prozess zu erstellen oder zu aktualisieren. Der Einstiegspunkt gibt den Dateipfad an, beginnend mit dem Stamm des Projekts. Bedingungen:
|
Authentication |
Für die Authentifizierung gegenüber Orchestrator müssen Sie im Voraus Anmeldeinformationen in Jenkins erstellen. Es gibt vier Optionen für die Authentifizierung: (1) Authentifizierung bei einer lokalen Orchestrator-Instanz mit einem Benutzernamen und einem Kennwort. (2) Authentifizieren Sie sich bei einem Cloud Orchestrator mithilfe eines Aktualisierungstokens (API-Schlüssel). (3) Authentifizieren Sie sich bei einem Cloud-Orchestrator mithilfe einer externen App-Authentifizierung. (4) Authentifizieren Sie sich bei einem lokalen Orchestrator mithilfe der externen App-Authentifizierung. |
Protokollierungsstufe der Ablaufverfolgung |
Einstellung zum Aktivieren der Ablaufverfolgungsprotokollierung auf einer der folgenden Ebenen:
|
Stellen Sie sicher, dass Ihr Netzwerk den Zugriff auf den folgenden NuGet-Paketfeed zulässt:
- https://api.nuget.org/v3/index.json
- https://uipath.pkgs.visualstudio.com/_packaging/nuget-packages/nuget/v3/index.json
- https://uipath.pkgs.visualstudio.com/Public.Feeds/_packaging/UiPath-* Internal/nuget/v3/index.json
- https://www.myget.org/F/workflow
- http://www.myget.org/F/uipath
- https://www.myget.org/F/uipath-dev/api/v3/index.json
Pipeline-Beispiel
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathDeploy (
packagePath: "path\)\)\) o\)\)NuGetpackage",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
environments: "environment",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”],
traceLoggingLevel: 'None'
)
}
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathDeploy (
packagePath: "path\)\)\) o\)\)NuGetpackage",
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
environments: "environment",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: “credentialsId”],
traceLoggingLevel: 'None'
)
}
}
}
}
Anwendung: Testtyp : Post-Build-Aufgabe UiPath Run tests ist in Standardaufträgen und Pipelines verfügbar und ermöglicht Ihnen:
- Führen Sie einen vorhandenen Testsatz im Orchestrator aus.
-
Verpacken, Bereitstellen und Ausführen von Testfällen, indem Sie den Pfad zu einem UiPath-Testprojekt angeben.
Nach Abschluss des Testlaufs wird die Registerkarte Testergebnis im Jenkins-Build veröffentlicht, in der die detaillierten Ergebnisse angezeigt werden. Darüber hinaus wird eine JUnit-Testergebnisdatei im Ausgabepfad der Testergebnisse erstellt, wenn angegeben, oder im Stammverzeichnis des Arbeitsbereichs, wenn nicht angegeben.
Je nach Ergebnis wird der Build entweder als erfolgreich (alle Testfälle wurden bestanden) oder als instabil (mindestens ein Testfall fehlgeschlagen) markiert.
Konfiguration
Auftragsparameter |
Beschreibung |
---|---|
Ziel |
|
**Ausgabepfad des Testergebnisses ** |
Der ausgeführte Testsatz gibt das Testergebnis als
junit.xml zurück. Geben Sie den Pfad an, in dem das Ergebnis relativ zum Jenkins-Arbeitsbereichsverzeichnis gespeichert werden soll (z. B. result.xml ).
|
Eingabeparameter |
Definieren Sie benutzerdefinierte Argumente für Ihre Testfälle, um Standardwerte auf Testsatzebene zu überschreiben. Über die Argumente können Sie die Testfälle zur Laufzeit parametrisieren. Um Argumente zu definieren, müssen Sie ein Paket mit Argumenten veröffentlicht haben. |
Orchestrator-Adresse |
Die Adresse der Orchestrator-Instanz, auf der die Pakete bereitgestellt werden sollen. |
Orchestrator-Mandant |
Der Orchestrator-Mandant, auf dem die Pakete bereitgestellt werden sollen. |
Orchestrator-Ordner |
Der Ordner, in dem bereitgestellt werden soll. Wenn es sich bei dem Ordner um einen klassischen Ordner handelt, müssen Sie auch das Feld
environments (Umgebungen) festlegen.
Für moderne Ordner wird die Einstellung
environments . ist nicht erforderlich.
|
Umgebungen (erforderlich für klassische Ordner) |
Die Umgebung, in der das Paket als Prozess bereitgestellt wird. Für das Projekt und die Umgebung mit vorhandenen Prozessen werden die Prozesse aktualisiert, um die neueste Projektversion zu verwenden. Geben Sie die Umgebung an, in der das Paket als Prozess bereitgestellt wird. Für das Projekt und die Umgebung mit vorhandenen Prozessen werden die Prozesse aktualisiert, um die neueste Projektversion zu verwenden. |
Authentication |
Für die Authentifizierung gegenüber Orchestrator müssen Sie im Voraus Anmeldeinformationen in Jenkins erstellen. Es gibt vier Optionen für die Authentifizierung: (1) Authentifizierung bei einer lokalen Orchestrator-Instanz mit einem Benutzernamen und einem Kennwort. (2) Authentifizieren Sie sich bei einem Cloud Orchestrator mithilfe eines Aktualisierungstokens (API-Schlüssel). (3) Authentifizieren Sie sich bei einem Cloud-Orchestrator mithilfe einer externen App-Authentifizierung. (4) Authentifizieren Sie sich bei einem lokalen Orchestrator mithilfe der externen App-Authentifizierung. |
Timeout (Sekunden) |
Das Ausführungszeitlimit für den Testlauf. Der Standardwert ist 7200 Sekunden. Wenn das Timeout überschreitet, bevor die Ausführung im Orchestrator abgeschlossen ist und das Ergebnis zurückgegeben wird, wird die Erstellung abgebrochen und als fehlgeschlagen markiert. |
Protokollierungsstufe der Ablaufverfolgung |
Einstellung zum Aktivieren der Ablaufverfolgungsprotokollierung auf einer der folgenden Ebenen:
|
Pipeline-Beispiel
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathTest (
testTarget: [$class: 'TestSetEntry', testSet: "My Test Set"],
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
timeout: "10000",
traceLoggingLevel: 'None',
testResultsOutputPath: "result.xml",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: "credentialsId"]
)
}
}
}
}
pipeline {
agent any
environment {
MAJOR = '1'
MINOR = '0'
}
stages {
stage ('PostBuild') {
steps {
UiPathTest (
testTarget: [$class: 'TestSetEntry', testSet: "My Test Set"],
orchestratorAddress: "OrchestratorUrl",
orchestratorTenant: "tenant name",
folderName: "folder name",
timeout: "10000",
traceLoggingLevel: 'None',
testResultsOutputPath: "result.xml",
credentials: [$class: 'UserPassAuthenticationEntry', credentialsId: "credentialsId"]
)
}
}
}
}
Schritt 1: Konfigurieren Ihrer externen Anwendung und Scopes. Halten Sie nach dem Hinzufügen der Anwendung die App-ID, den Geheimschlüssel und die Anwendungs-Scopes bereit, die für den nächsten Schritt verwendet werden müssen.
Schritt 2: Konfigurieren Sie die Anmeldeinformationen der Anwendung als geheimen Text in Jenkins. Für diesen Schritt benötigen Sie das in der Automation Cloud generierte Secret.
Schritt 3: Konfigurieren Sie die Authentifizierung für jede Aufgabe unter Aktionen nach dem Erstellen, indem Sie den Kontonamen hinzufügen, gefolgt von der App-ID, dem Geheimnis und den Anwendungsbereichen, die über die Automation Cloud generiert werden.
- Alle angegebenen Pfade müssen lokal für den aktuellen Arbeitsbereich sein. Sie können Umgebungsvariablen in Pfaden verwenden, sollten jedoch sicherstellen, dass sie zu Pfaden führen, die lokal im Arbeitsbereich sind.
- Um Pakete bereitzustellen oder Tests auszuführen, stellen Sie sicher, dass der authentifizierte Benutzer über die Berechtigungen Ordneransicht (oder Organisationseinheitenansicht) und (nur20.4+ ) Hintergrundaufgabenansicht verfügt.
- Um Bibliotheken zu verpacken, wenn sie mit einer Orchestrator-Instanz verbunden sind, stellen Sie sicher, dass der authentifizierte Benutzer über die Berechtigung zum Anzeigen von Bibliotheken verfügt.
-
Weitere Informationen zum Verwalten externer Apps:
- Informationen zum Cloud-Orchestrator finden Sie in der offiziellen Dokumentation.
- Informationen zum lokalen Orchestrator finden Sie in der offiziellen Dokumentation.
Wenn bei der Installation oder beim Upgrade Probleme auftreten, ziehen Sie die folgenden Problembehandlungsszenarien in Betracht.
Beschreibung: Nicht autorisierter Fehler.
Lösung:
-
Wenn Sie die Standardauthentifizierung verwenden: Stellen Sie sicher, dass die Kombination aus Benutzername und Kennwort bei der Webanmeldungkorrekt ist.
Wenn die Verbundauthentifizierung aktiviert ist, stellen Sie sicher, dass Sie den Benutzernamen in der Aufgabe als „DOMAIN\user“ eingeben.
-
Wenn Sie die Token-Authentifizierungverwenden:
- Widerrufen Sie das Token im API-Zugriffsbereich und generieren Sie ein neues.
- Stellen Sie sicher, dass der Benutzer, der den Schlüssel generiert hat, auf den Orchestrator zugreifen kann und über ein Benutzerkonto auf der Orchestrator-Instanz verfügt.
- Wenn Sie sich bei einem lokalen Orchestrator authentifizieren: Stellen Sie sicher, dass das Orchestrator-Zertifikat gültig ist und dass die Maschine, auf der der Auftrag ausgeführt wird, dem Orchestrator-Zertifikat vertraut, falls Sie ein selbstsigniertes Zertifikat verwenden. Dieser Fehler wird möglicherweise angezeigt, da das für den Orchestrator verwendete Zertifikat nicht gültig ist. Dies kann bedeuten, dass der falsche CN oder andere Validierungsprobleme vorliegen.
Abhilfe: Der Benutzer hat nicht die Berechtigung zum Ausführen der Aktion. Stellen Sie sicher, dass der Benutzer über Berechtigungen zum Lesen von Ordnern, Hochladen von Paketen, Erstellen und Aktualisieren von Prozessen, Lesen von Testsätzen und Testfällen, Lesen von Hintergrundaufgaben sowie Erstellen und Ausführen von Testsätzen verfügt.
Abhilfe: Stellen Sie sicher, dass der authentifizierte Benutzer, der von CI/CD-Plugins verwendet wird, über die Berechtigungen Folders.View und BackgroundTask.View (nur für 20.4) verfügt.
Lösung: Stellen Sie sicher, dass das Paket, das Sie bereitstellen möchten, nicht bereits mit derselben Version vorhanden ist. Wenn sie vorhanden ist, sollten Sie die automatische Paketversionsverwaltung verwenden, damit die neue Version bei jeder Bereitstellung aktualisiert wird.
C:\Windows or C:\Program Files
), für den der Benutzer keine Berechtigungen hat, stellen Sie sicher, dass sich der Arbeitsbereich in einem Pfad befindet, auf den der Benutzer zugreifen kann.
???
ersetzt.
file.encoding
auf UTF-8 in Java -Optionen:
Beim Ausführen von Jenkins unter Windows als Dienst: Fügen Sie in der Dienstkonfigurationsdatei die Argumente innerhalb des Tags hinzu. Folgen Sie dem folgenden Beispielskript.
<arguments>-Xrs -Xmx512m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -jar "%BASE%\)\)jenkins.war" --httpPort=8080 --webroot="%BASE%\)\)war"</arguments>
<arguments>-Xrs -Xmx512m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -jar "%BASE%\)\)jenkins.war" --httpPort=8080 --webroot="%BASE%\)\)war"</arguments>
--env JAVA_OPTS="..."
an den Container, indem Sie dem folgenden Beispielskript folgen.
docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 jenkins/jenkins:lts
docker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 jenkins/jenkins:lts
CATALINA_OPTS
. Folgen Sie dem folgenden Beispielskript.
export CATALINA_OPTS="-DJENKINS_HOME=/path/to/jenkins_home/ -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -Xmx512m"
export CATALINA_OPTS="-DJENKINS_HOME=/path/to/jenkins_home/ -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 -Xmx512m"
JAVA_ARGS
und fügen Sie die Dateicodierung hinzu. Folgen Sie dem folgenden Beispielskript:
JAVA_ARGS="-Dfile.encoding=UTF-8 -Xmx512m"
JAVA_ARGS="-Dfile.encoding=UTF-8 -Xmx512m"
Bei Ausführung auf RedHat Linux-basierten Distributionen: Suchen Sie in der Konfigurationsdatei nach dem Argument JENKINS_JAVA_OPTIONS und fügen Sie die Dateicodierung hinzu. Folgen Sie dem folgenden Beispielskript.
JENKINS_JAVA_OPTIONS="-Dfile.encoding=UTF-8 -Xmx512m"
JENKINS_JAVA_OPTIONS="-Dfile.encoding=UTF-8 -Xmx512m"
- Voraussetzungen
- Installieren und Aktivieren des Plugins
- Jobs
- UiPath Run Job
- UiPath Manage Assets
- UiPath Pack
- UiPath Deploy
- UiPath Run Tests
- Abrufen des Cloud Orchestrator-API-Schlüssels
- Dienstverbindung für externe Apps konfigurieren
- Zusätzliche Angaben
- Fehlerbehebung beim Jenkins-Plugin
- Nicht autorisierter Fehler
- Verbotener Fehler
- Ordner/Umgebung nicht gefunden
- Paket ist bereits vorhanden (Konflikt)
- Fehler beim Ausführen des Befehls (generischer Fehler)
- Jenkins kann keine Pfade verarbeiten, die nicht-lateinische Zeichen enthalten
- Windows
- Linux