Test Suite
2022.4
False
Bannerhintergrundbild
Test Suite-Benutzerhandbuch
Letzte Aktualisierung 28. Feb. 2024

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.

Voraussetzungen

  • 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.

Installieren und Aktivieren des Plugins

Das Jenkins-Plugin kann von jeder Jenkins-Installation installiert werden, die über den Plugin-Manager-Bildschirm mit dem Internet verbunden ist.

Jobs

UiPath Run Job

Der UiPath Run Job Schritt startet nach der Erstellung einen Prozess, der bereits auf einer Orchestrator-Instanz implementiert wurde. In der Orchestrator-Version 2020.10 finden Sie die Prozesse, die von dieser Aufgabe ausgeführt werden, auf der Registerkarte Prozesse. In Orchestrator-Versionen 2021.10 und höher finden Sie die Prozesse, die von dieser Aufgabe ausgeführt werden, in Automatisierungen unter Prozesse.



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:

  • Dynamisch zuweisen
  • Bestimmte Roboter

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.
Um Unterordner einzugeben, geben Sie sowohl den Namen des übergeordneten Ordners als auch den Namen des Unterordners ein. Zum Beispiel AccountingTeam\TeamJohn.

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 der externen App-Authentifizierung.

(4) Authentifizieren Sie sich bei einem lokalen Orchestrator mit der externen App-Authentifizierungexternen 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:

  • Keine
  • Kritisch
  • Fehler (Error)
  • Warnung
  • Informationen
  • Ausführlich. (Die Standardeinstellung ist None).

    Nützlich für Debugzwecke.

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 MachineName\UserName lauten.

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'
        )
    }
  }
}

UiPath Manage Assets

Mit dem Schritt UiPath Assets verwalten können Sie Assets auf einer Orchestrator-Instanz bereitstellen, aktualisieren oder löschen. Um Assets bereitzustellen, müssen Sie sie in einer CSV-Datei wie im folgenden Beispiel beschreiben, die in 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.

Um Unterordner einzugeben, geben Sie sowohl den Namen des übergeordneten Ordners als auch den Namen des Unterordners ein. Zum Beispiel AccountingTeam\TeamJohn.

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 der externen App-Authentifizierung.

(4) Authentifizieren Sie sich bei einem lokalen Orchestrator mit der externen App-Authentifizierungexternen 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:

  • Keine
  • Kritisch
  • Fehler (Error)
  • Warnung
  • Informationen
  • Ausführlich. (Die Standardeinstellung ist None).

    Nützlich für Debugzwecke.

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'
        )
    }
  }
}

UiPath Pack

Anwendung: RPA

Typ: Aufgabe erstellen

UiPath Pack ist in Standardaufträgen und Pipelines verfügbar und ermöglicht es Ihnen, ein vorhandenes UiPath-Projekt in ein NuGet-Paket zu packen.



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:

  • Keine
  • Kritisch
  • Fehler (Error)
  • Warnung
  • Informationen
  • Ausführlich. (Die Standardeinstellung ist None).

    Nützlich für Debugzwecke.

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 der 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”]
        )
      }
    }
  }
}

UiPath Deploy

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 des Feldes environments nicht erforderlich.
Um Unterordner einzugeben, geben Sie sowohl den Namen des übergeordneten Ordners als auch den Namen des Unterordners ein. Zum Beispiel AccountingTeam\TeamJohn.

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:

  • Einstiegspunkte sind für die Orchestrator-Version 21.4 oder höher verfügbar (z. B. 21.4.UiPathDeploy.entryPoints). Bei Orchestrator-Versionen unter 21.4 müssen Sie einen beliebigen Wert eingeben, da das Feld nicht leer bleiben darf.
  • Standardeinstiegspunkt auf Main.xaml festgelegt.
  • Für klassische Ordner (veraltet) können Sie für jede Umgebung nur einen Einstiegspunkt angeben.
  • Weitere Informationen finden Sie unter Orchestrator-Einstiegspunkte.

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 der externen App-Authentifizierung.

(4) Authentifizieren Sie sich bei einem lokalen Orchestrator mit der externen App-Authentifizierungexternen App-Authentifizierung.

Protokollierungsstufe der Ablaufverfolgung

Einstellung zum Aktivieren der Ablaufverfolgungsprotokollierung auf einer der folgenden Ebenen:

  • Keine
  • Kritisch
  • Fehler (Error)
  • Warnung
  • Informationen
  • Ausführlich. (Die Standardeinstellung ist None).

    Nützlich für Debugzwecke.

Hinweis:

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'
        )
      }
    }
  }
}

UiPath Run Tests

Anwendung: Testen

Typ: 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

  • Geben Sie einen vorhandenen Testsatz im UiPath Orchestrator an (um den Testsatz auszuführen).
  • Geben Sie den project.json -Pfad eines UiPath Testing-Projekts an (um das Testprojekt auszuführen).

Ausgabepfad der Testergebnisse

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.
Um Unterordner einzugeben, geben Sie sowohl den Namen des übergeordneten Ordners als auch den Namen des Unterordners ein. Zum Beispiel AccountingTeam\TeamJohn.

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 der externen App-Authentifizierung.

(4) Authentifizieren Sie sich bei einem lokalen Orchestrator mit der externen App-Authentifizierungexternen 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:

  • Keine
  • Kritisch
  • Fehler (Error)
  • Warnung
  • Informationen
  • Ausführlich. (Die Standardeinstellung ist None).

    Nützlich für Debugzwecke.

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"]
        )
      }
    }
  }
}

Abrufen des Cloud Orchestrator-API-Schlüssels



Dienstverbindung für externe Apps konfigurieren

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.

Hinweis: Wenn Sie ein neues Geheimnis generieren und verwenden, wird das alte ungültig gemacht.

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 Geheimnis.

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.

Hinweis: Ziehen Sie die Verwendung der externen App in einzelnen Pipelines in Betracht, um Ungültigkeitsfehler zu vermeiden.

Zusätzliche Angaben

  • 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:

Fehlerbehebung beim Jenkins-Plugin

Wenn bei der Installation oder beim Upgrade Probleme auftreten, ziehen Sie die folgenden Problembehandlungsszenarien in Betracht.

Nicht autorisierter Fehler

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.

Verbotener Fehler

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.

Ordner/Umgebung nicht gefunden

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.

Paket ist bereits vorhanden (Konflikt)

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.

Fehler beim Ausführen des Befehls (generischer Fehler)

Abhilfe: Wenn sich der Jenkins-Arbeitsbereich an einem Speicherort auf der Festplatte befindet (z. B. 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.

Jenkins kann keine Pfade verarbeiten, die nicht-lateinische Zeichen enthalten

Abhilfe: Jenkins kann beim Aufrufen des UiPath-Plugins nicht ordnungsgemäß codierte Zeichen übergeben, die nicht dem Standard entsprechen. Die unbekannten Zeichen werden durch ??? ersetzt.
Die Lösung hängt davon ab, wie Jenkins sowohl auf den Server- als auch auf den Agent-Hostmaschinen bereitgestellt wird, erfordert jedoch das Festlegen von file.encoding auf UTF-8 in Java -Optionen:

Windows

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>
Wenn Sie Jenkins in Docker ausführen: Übergeben Sie JAVA_OPTS über --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:ltsdocker run --name myjenkins -p 8080:8080 -p 50000:50000 --env JAVA_OPTS=-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -Dfile.encoding=UTF-8 jenkins/jenkins:lts
Beim Ausführen von Jenkins in Tomcat: Verwenden Sie die Umgebungsvariable 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"

Linux

Bei Ausführung auf Debian- oder Ubuntu-basierten Linux-Distributionen: Suchen Sie in der Konfigurationsdatei nach dem Argument 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"

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
UiPath Logo weiß
Vertrauen und Sicherheit
© 2005-2024 UiPath. All rights reserved.