Abonnieren

UiPath Test Suite

UiPath Test Suite

Auftragsaufgaben

Überblick


Ihre Pipeline besteht aus verschiedenen Phasen, die wiederum in Aufträge unterteilt werden können. Für jeden Auftrag können Sie die Schritte so konfigurieren, dass diese die UiPath-Aufgaben enthalten, die in der UiPath-Integration für Azure DevOps enthalten sind.

Command-Line Interface


The Azure DevOps Extension comes with a built-in Command-Line interface (CLI) that is specific to UiPath.

The caching of the CLI


When you run over the build agent, the CLI communicates with Orchestrator and allows you to execute your job tasks.

By default, the CLI is prepackaged within the AzureDevOps extension, and it is stored inside the Agent.ToolsDirectory (Azure cache) when executing it for the first time.

When running a job task over the build agent, the system checks for the CLI that should be inside the Agent.ToolsDirectory, in order to finish the execution.

If the CLI is not found inside the Agent.ToolsDirectory (Azure cache), the system automatically downloads it from the NuGet public feed. A requirement for this is that the NuGet public feed is not blocked by a firewall, and can be accessed from your build agent.

If you are not able to open up your firewall from your build agent, you can manually download the CLI (corresponding to the build version used for your current plugin), and manually place it inside the Agent.ToolsDirectory. Check out the Manually adding the Command Line Interface topic.

Manually adding the CLI in the cache

To get the path to the CLI, combine the value of the Agent.ToolsDirectory variable (which you can find inside of the build agent) with a folder that has the same name as your framework, and the uipcli.exe filename at the end.

Example: If you use the .NET framework, version 4.6.1, then the path to the CLI is Agent.ToolsDirectory\net461\uipcli.exe.

Voraussetzungen


To prepare your environment, see Azure DevOps extension prerequisites.

Überlegungen


Bevor Sie mit der Ausführung von Aufgaben in Ihrer Pipeline beginnen, sollten Sie Folgendes beachten:

  • Sie müssen UiPath-Aufgaben nur in Windows-basierten Build-Agenten ausführen.
  • Configure UiPath Orchestrator service connection.
  • Testing features require Orchestrator version 2020.4 or higher.
  • Wenn Sie eine lokale Version des Orchestrators mit HTTPS verwenden, importieren Sie das SSL-Zertifikat, um sicherzustellen, dass HTTPS-Aufrufe an den Orchestrator vertrauenswürdig sind.

Hinzufügen von UiPath-Aufgaben zum Pipeline-Agent-Pool


Um eine Automatisierung in Ihrer Pipeline zu definieren, müssen Sie dem Agentenpool einzelne Aufgaben hinzufügen und konfigurieren.

  1. in Azure DevOps und wechseln Sie zu Pipelines.
  2. Erstellen Sie eine neue Pipeline oder bearbeiten Sie eine vorhandene.
  3. Fügen Sie einen Auftrag zum Agent-Pool hinzu.
  4. Suchen Sie nach einer der folgenden Aufgaben:
  5. Klicken Sie auf Hinzufügen und konfigurieren Sie die Aufgabe.
  6. Ordnen Sie die Aufgaben im Agent-Pool bei Bedarf neu an und speichern Sie dann Ihre Pipeline.
1228

UiPath Run Job


Sie können diese Aufgabe verwenden, um einen Prozess auszuführen, der bereits auf einer Orchestrator-Instanz bereitgestellt wurde.
For more information, see Processes and Jobs.

Konfiguration

Verwenden Sie die folgende Tabelle, um die Eingaben von UiPath Run Job zu konfigurieren.

InputDescription
Display name (Required)Enter a name for your task.
Orchestrator connection (Required)Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection.

For more information, see Configuring UiPath Orchestrator service connection.
Process (Required)The process is the package version that is linked to a particular folder type. You need to configure this input based on the type of folder on which the process is deployed.

For modern folders, the input is the name of the process that's listed in the Processes tab. To find out the process name, you can open Orchestrator, open your folder, and navigate to Automations > Processes.

For classic folders (deprecated), the input is the name of the process name, followed by and underscore, and then the environment name, where the Robots are hosted.

As an example for this naming convention, consider the following variables:
The name of the process isTestAutomation.
The name of the environment is Production.

Your process name for this input is TestAutomation_Production.

Related articles:
Managing Folders
Environments
Input parametersSpecify the file path to a JSON input file, such as Input\jobParameters.json.
PrioritySelect the priority of the job execution if you want to set a specific order at the process level. By default, this input is set to Normal.
Orchestrator folder (Required)Specify the folder where the process is being deployed. For classic folders, you can use specific robot names. For modern folders, you can use specific user and machine names.
StrategySpecify the execution strategy for dynamic allocation or robot-specific.

For dynamically allocated jobs, the process is executed under the account and machine that is available.
Alternatively, you can choose robot-specific jobs.
Job Type Available only on modern folders.

Choose the license model of the runtime under which the job is to be executed.

For more information, see Robot licensing.
No. of jobs Available only for dynamic allocation strategy.

Specify the number of times you want to run this task. By default, this input is set to 1.
User Available only on modern folders alongside a dynamic allocation strategy.

Add the machine username. For example, a local user for this input is MachineName\UserName.
Machine Available only on modern folders alongside a dynamic allocation strategy.

The name of the machine that runs the execution.
OutputThe results are collected in a JSON file. You need to specify the path of the job results (e.g., Output\testResults.json). If you leave this input blank, the default output is sent to the artifact staging directory under the following name UiPathResults.json.
TimeoutSpecify the number of seconds to wait before the request times out.
Fail task when job failsSelect this input if you want to set the task as failed when at least one job failed. This input is selected by default.
Wait for job completionWait for job run completion. This input is selected by default.
Trace LevelSelect the logging level from the dropdown list.
robotsIdsComma-separated list of specific robot names.
783

YAML-Pipeline

Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für UiPath Run Job anzeigen.

Zur Vorschau der YAML-Pipeline anklicken
- task: UiPathRunJob@2
  displayName: 'Start ProcessProject'
  inputs:
    #orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator
    #processName: 'ProccessProject_CI-Pipeline' # The name of the process
    #parametersFilePath: 'Input\\jobParameters.json' # json file with input values if the process requires them
    #priority: 'Low' # Options 'Low', 'Normal', 'High'
    #folderName: 'MyFolder' # Specify the folder to deploy to. For clasic folders, you can use specific robot names. For modern folders, you can use specific user and machine names.
    #strategy: 'Dynamically' # Options 'Specific', 'Dynamically'
    #jobCount: 1 # The number of job runs. (default 1) - used if strategy is 'Dynamically'
    #user: 'MyUser'
    #machine: 'machine'
    #robotsIds: 'robot1, robot2'
    #resultFilePath: 'Output\\testResults.json'
    #timeout: 3600
    #failWhenJobFails: false
    #waitForJobCompletion: false,
    #traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None

UiPath Manage Assets


Sie können diese Aufgabe verwenden, um Assets auf Ihrer Orchestrator-Instanz bereitzustellen, zu aktualisieren oder zu löschen.

Die folgenden Asset-Typen werden unterstützt:

  • Text – speichert nur Zeichenfolgen (Anführungszeichen sind nicht erforderlich)
  • Boolescher Wert – unterstützt die Werte „true“ und „false“
  • Integer – speichert nur ganze Zahlen
  • Anmeldeinformationen – enthalten Benutzernamen und Kennwörter, die der Roboter zur Ausführung bestimmter Prozesse benötigt. Für diesen Asset-Typ müssen Sie den Benutzernamen und das Kennwort codieren, indem Sie :: verwenden, um die beiden Felder zu trennen.

Um Assets bereitzustellen, müssen Sie sie in einer CSV-Datei hinzufügen, die in UTF-8 codiert ist, wie im folgenden Beispiel:
name,type,value, description asset_1_name,text,asset_value, asset_2_name,integer,123,asset_3_name,boolean,false, this is an asset description asset_4_name,credential,"username::password",

For more information, see Orchestrator Assets.

Konfiguration

Verwenden Sie die folgende Tabelle, um die Eingaben von UiPath Manage Assets zu konfigurieren.

ArgumentDescription
Display name (Required)Enter a name for your task.
Orchestrator connection (Required)Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection.

For more information, see Configuring UiPath Orchestrator service connection.
Orchestrator folder (Required)Specify the folder where the process is being deployed. For classic folders, you can use specific robot names. For modern folders, you can use specific user and machine names.
Choose asset action (Required)Select an option from the dropdown list.
Assets CSV File (Required)Add the CSV file path. You can use the same file for both Deploy and Update asset actions.

Considerations:
• The usage of quotes within values is allowed (e.g., ""A new version of RPA REPORT – AM Email Quote to Agent is available"").
• JSON values are supported (e.g., "{""MaxRetryNumber"":3 ,""Name"":My Test Process}").
• Comments are not supported (e.g.asset_1_name,credential,""username::password"" # asset_1_description comment).

For Delete asset actions, use only the name column and leave the other columns empty.

(Optional) You can set a description for each asset using the following syntax: type, value , description.
Trace LevelSelect the logging level from the dropdown list.
928

YAML-Pipeline

Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für UiPath Manage Assets anzeigen.

- task: UiPathAssets@2
  displayName: 'Deploy/Update assets'
  inputs:
    #orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator
    #assetActionType: 'Deploy' # Options: Deploy, Delete
    #csvFile: 'assets_deploy.csv' # the path to the csv file containing the assets description,
    #traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None

UiPath Install Platform

You can use the UiPathInstallPlatform task when build agents don't have access to the UiPath NuGet Feed. You should execute the UiPathInstallPlatform task before any other tasks in the extension. This task has a prepackaged tool that all the other UiPath tasks are using. The task is optional, but its advantage is that it reduces the time to execute other tasks.

896

CLI version selector - Preview

Select the version of the CLI that you want to use with your Azure DevOps Extension, from the Choose a CLI version (Required) dropdown.

The options in the dropdown list include:

  • The latest available versions of the CLI.
  • The environment requirements that you need to be compatible with the CLI version that you choose.
366

YAML-Pipeline

You can preview a fully parsed YAML document for the UiPath Install Platform, including the CLI version selector (Preview):

- task: UiPathInstallPlatform-preview@2
  displayName: 'UiPath Install Platform (Preview)'
  inputs:
    cliVersion: 'WIN_22.10.8418.30339' or 'X_22.10.8418.30339' or '21.10.8319.10920

UiPath Pack


Mit der UiPathPack-Aufgabe können Sie ein vorhandenes UiPath-Projekt in ein NuGet-Paket packen.

Konfiguration

Verwenden Sie die folgende Tabelle, um die Eingaben von UiPath Pack zu konfigurieren.

ArgumentDescription
Display name (Required)Enter a name for your task.
Choose versioning method (Required)You can select an automatically generated version, use the project version, or define a new version.

For more information, see Package Versions.
Version (Required) Available only on modern folders alongside a dynamic allocation strategy.

Specifying the package version provides the possibility of tracking the built packages and their source versioning more efficiently. For example, the Microsoft assembly pattern can be utilized to build the NuGet package version: [Major].[Minor].[BuildNumber].[RevisionNumber].
Project(s) Path (Required)Select the location of the project that is going to be packaged. It can be a direct path to a project.json file or a directory with one or multiple projects. In the latter case, each level one project is packaged individually.
Choose output type (Required only for manual versioning)Set a project type for the project that is going to be packaged. If you set None, the project type is going to be extracted from the project's JSON file.

The following project types are supported: 'Process', 'Library', 'Tests', 'Objects', 'None'.
Orchestrator connection (Required)Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection.

For more information, see Configuring UiPath Orchestrator service connection.
Output PathSet a folder path where the package is going to be placed.
Run workflows analysisSelect this option to run workflow analysis rules on your automation project (e.g., Fail jobs in case of errors). By default, this option is not activated.

For more information, see Application Testing Workflow Analyzer Rules.
Trace LevelSelect the logging level from the dropdown list.
946

YAML-Pipeline

Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für das UiPath Pack anzeigen.

Zur Vorschau der YAML-Pipeline anklicken
- task: UiPathPack@2
  inputs:
    #versionType: AutoVersion # Options: AutoVersion, CurrentVersion, ManualVersion 
    #version: '1.0.0' # Required when versionType == ManualVersion
    #projectJsonPath: '$(Build.SourcesDirectory)\MyFirstProcess'
    #outputPath: '$(Build.ArtifactStagingDirectory)\Packages\MyFirstProcess'
    #outputType: 'None' # Options: Process, Library, Tests, Objects, None
    #runWorkflowAnalysis: 'False'
    #orchestratorConnection: 'service-connection-name' # Service connection to UiPath Orchestrator,
    #traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None

UiPath Deploy


Mit der UiPathDeploy-Aufgabe können Sie ein UiPath NuGet-Paket auf dem UiPath Orchestrator bereitstellen.

🚧

Wichtig

Stellen Sie sicher, dass Ihr Netzwerk den Zugriff auf den folgenden NuGet-Paketfeed zulässt:

Konfiguration

Verwenden Sie die folgende Tabelle, um die Eingaben von UiPath Deploy zu konfigurieren.

ArgumentDescription
Display name (Required)Enter a name for your task.
Orchestrator connection (Required)Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection.

For more information, see Configuring UiPath Orchestrator service connection.
Package(s) (Required)Define the feed for your UiPath NuGet packages.
Automatically create processSelect this option if you want to deploy a package without creating a process. The option is selected by default.

If selected, you need to configure the Entry Point Path parameter.
Orchestrator folder (Required)Specify the folder where the process is being deployed. For classic folders (deprecated), you can use specific robot names. For modern folders, you can use specific user and machine names.
Environment(Optional) If you use classic folders (deprecated), you need to define the environment where the packages are going to be deployed. You can use this field to create or update packages.

You can use the following example to add your environments to this field, separated by a comma: testingEnvironment, productionEnvironment.
Entry Point Path(s) (Required)Specify entry point paths to create or update a process. The entry point path specifies the file path starting from the root of the project.

Before configuring the entry point paths, consider the following:
Entry points are available for Orchestrator version 21.4 or higher (e.g. 21.4.UiPathDeploy.entryPoints). For Orchestrator versions lower than 21.4, you need to enter any value, as the field must not remain empty.
The default entry point is set to Main.xaml.
Multiple entrypoints can be specified as 'Main.xaml, EntryPoint2.xaml '.
For classic folders (deprecated) you can specify only one entry point for each environment.
For nested folders you need to specify the file path, as follows:
Folder01/Folder02/Main.xaml or Folder01/Folder02/Entrypoint.xaml


For more information, see Orchestrator Entry Points.
Trace LevelSelect the logging level from the dropdown list.
862

YAML-Pipeline

Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für UiPath Deploy anzeigen.

Zur Vorschau der YAML-Pipeline anklicken
- task: UiPathDeploy@2
  inputs:
    #orchestratorConnection: # Service connection to UiPath Orchestrator
    #packagesPath: '$(Build.ArtifactStagingDirectory)\Packages\ITAutomationProcess'
    #folderName: 'ITAutomation'
    #environments: 'AutomationRobots' # Optional,
    #traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None

UiPath Test


Typically, the UiPath Test task runs an existing test set on Orchestrator. Additionally, you can use it to pack, deploy, and run test cases by specifying the path to a UiPath test project. The latter option shows up in Orchestrator as a transient test set.

Nachdem die Aufgabe die Ausführung abgeschlossen hat, werden die Testergebnisse auf die Registerkarte Test in Azure DevOps hochgeladen. Sie können den Ausgabepfad der Testergebnisse im JUnit-Format angeben.

Je nach Ergebnis wird der Build entweder als erfolgreich (alle Testfälle sind bestanden) oder fehlgeschlagen (mindestens ein Testfall ist fehlgeschlagen) markiert.

Konfiguration

Verwenden Sie die folgende Tabelle, um die Eingaben von UiPath Test zu konfigurieren.

ArgumentDescription
Display name (Required)Enter a name for your task.
Choose a test execution methodChoose the test that you want to execute:
Execute test set: Specify and run an existing test set in Orchestrator.
Execute tests in project: Specify a project, deploy the package and run the test cases as part of a transient test set.
Orchestrator connection (Required)Configure the service connection to access UiPath Orchestrator services. You can configure a connection only for this step or use an existing global connection.

For more information, see Configuring UiPath Orchestrator service connection.
Input parametersSpecify the file path to a JSON input file, such as Input\jobParameters.json.

Specify the type argument if you're creating new input arguments at the Test Set level. Otherwise, you can use name and value.
Test set (Required for Execute test set method)Specify the name of your Orchestrator test set.
Test project path (Required for Execute tests in project method)Specify the test project location that is going to be executed as part of a transient test set.
Environment (Required for Execute tests in project method)If you use classic folders (deprecated), you need to define the environment where the packages are going to be deployed. You can use this field to create or update packages.

You can use the following example to add your environments to this field, separated by a comma: testingEnvironment, productionEnvironment.
Orchestrator folder (Required)Specify the folder where the process is being deployed. For classic folders (deprecated), you can use specific robot names. For modern folders, you can use specific user and machine names.
Test results output pathSpecify the test results output path in JUnit format (e.g., Output\testResults.json).
TimeoutSpecify the number of seconds to wait before the request times out.
Trace LevelSelect the logging level from the dropdown list.
Attach Robot LogsSelect this option to attach INFO level logs from the executing Robot. By default, this is unselected.

For more information, see Robot Logs.
936

YAML-Pipeline

Sie können eine Vorschau eines vollständig geparsten YAML-Dokuments für UiPath Test anzeigen.

Zur Vorschau der YAML-Pipeline anklicken
-- task: UiPathTest@2
  inputs:
    #testTarget: TestProject # Options: TestProject, TestSet
    #orchestratorConnection: # Service connection to UiPath Orchestrator
    #testProjectPath: '$(Build.SourcesDirectory)\MobileAutomationTests' # Required only when testTarget = TestProject
    #testSet: 'MobileAutomationTests' # Required only when testTarget = TestSet
    #folderName: 'MobileAutomationTesting'
    #environment: 'TestingRobots' # Required only when testTarget = TestProject and the folder is a classic folder
    #testReportDestination: '$(Build.ArtifactStagingDirectory)\report.xml' # Optional
    #timeout: 200 # Optional, default = 3600s,
    #traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None task: UiPathTest@2
  inputs:
    #testTarget: TestProject # Options: TestProject, TestSet
    #orchestratorConnection: # Service connection to UiPath Orchestrator
    #testProjectPath: '$(Build.SourcesDirectory)\MobileAutomationTests' # Required only when testTarget = TestProject
    #testSet: 'MobileAutomationTests' # Required only when testTarget = TestSet
    #folderName: 'MobileAutomationTesting'
    #environment: 'TestingRobots' # Required only when testTarget = TestProject and the folder is a classic folder
    #testReportDestination: '$(Build.ArtifactStagingDirectory)\report.xml' # Optional
    #timeout: 200 # Optional, default = 3600s,
    #traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None- task: UiPathTest@2
  inputs:
    #testTarget: TestProject # Options: TestProject, TestSet
    #orchestratorConnection: # Service connection to UiPath Orchestrator
    #testProjectPath: '$(Build.SourcesDirectory)\MobileAutomationTests' # Required only when testTarget = TestProject
    #testSet: 'MobileAutomationTests' # Required only when testTarget = TestSet
    #folderName: 'MobileAutomationTesting'
    #environment: 'TestingRobots' # Required only when testTarget = TestProject and the folder is a classic folder
    #testReportDestination: '$(Build.ArtifactStagingDirectory)\report.xml' # Optional
    #timeout: 200 # Optional, default = 3600s,
    #traceLevel: 'None' # Options: Critical, Error, Warning, Information, Verbose, None

Updated 2 days ago


Auftragsaufgaben


Auf API-Referenzseiten sind Änderungsvorschläge beschränkt

Sie können nur Änderungen an dem Textkörperinhalt von Markdown, aber nicht an der API-Spezifikation vorschlagen.