- Test Suite の利用を開始する
- Studio
- Orchestrator
- Testing ロボット
- Test Manager
- CI/CD との連携
ジョブのタスク
パイプラインはさまざまなステージで構成されているため、複数のジョブに分類できます。ジョブごとに、UiPath Integration for Azure DevOps に含まれる UiPath タスクを含むステップを構成することができます。
ロボット グループを準備するには、Azure DevOps 拡張機能の前提条件を確認してください。
パイプラインでタスクの実行を開始する前に、以下のことを考慮に入れておいてください。
- UiPath タスクは Windows ベースのビルド エージェントでのみ実行する必要があります。
- UiPath Orchestrator サービス接続を構成します。
- テスト機能には、Orchestrator バージョン 2020.4 以降が必要です。
- Orchestrator のオンプレミス バージョンを HTTPS で使用する場合は、SSL 証明書をインポートして、Orchestrator への HTTPS 呼び出しが信頼できることを確認します。
ビルド エージェント上で実行すると、CLI で Orchestrator と通信し、ジョブ タスクを実行できます。
Agent.ToolsDirectory
(Azure キャッシュ) 内に保存されます。
Agent.ToolsDirectory
内にあるかどうかが確認されます。
Agent.ToolsDirectory
(Azure キャッシュ) 内で見つからない場合は、NuGet パブリック フィードから自動的にダウンロードされます。このためには、NuGet パブリック フィードがファイアウォールによってブロックされておらず、ビルド エージェントからフィードにアクセスできる必要があります。
Agent.ToolsDirectory
内に配置できます。
パイプラインでオートメーション手順を定義するには、個々のタスクをエージェント プールに追加して設定する必要があります。
- Azure DevOps で [Pipelines] に移動します。
- 新しいパイプラインを作成するか、既存のパイプラインを編集します。
- エージェント プールにジョブを追加します。
-
次のいずれかのタスクを検索します。
- UiPath のジョブを実行
- UiPath のアセットを管理
- UiPath のインストール プラットフォーム
- UiPath の Nuget パッケージをパブリッシュ
- UiPath の NuGet パッケージをデプロイ
- UiPath のテストを実行
- [Add] をクリックして、タスクを設定します。
- 必要に応じてエージェント プール内のタスクを再配置して、パイプラインを保存します。
以下の表を使用して、[UiPath のジョブを実行] の入力を設定します。
入力 | 説明 |
---|---|
表示名 (必須) | タスクの名前を入力します。 |
Orchestrator への接続 (必須) | UiPath Orchestrator サービスにアクセスするためのサービス接続を設定します。このステップのためだけの接続を設定するか、既存のグローバル接続を使用します。詳細については、「UiPath Orchestrator サービス接続を構成する」をご覧ください。 |
プロセス (必須) | プロセスは特定の種類のフォルダーにリンクされたパッケージ バージョンです。この入力は、プロセスがデプロイされているフォルダーの種類に基づいて設定する必要があります。モダン フォルダーの場合、この入力は [プロセス] タブに表示されているプロセスの名前です。プロセス名を確認するには、Orchestrator を開き、フォルダーを開いて、[オートメーション] > [プロセス] に移動します。クラシック フォルダー (非推奨) の場合、この入力はプロセス名の後にアンダースコアとロボットがホストされるロボット グループの名前が付けられたものになります。この命名規則の例として、次の変数の使用を検討してください。プロセスの名前は TestAutomation 。ロボット グループの名前は Production 。この入力のプロセス名は TestAutomation_Production です。
|
入力パラメーター | JSON 入力ファイルのファイル パスを指定します (例: Input\jobParameters.json )。
JSON ファイル形式の例:
|
優先度 | プロセス レベルで特定の順序を設定する場合は、ジョブ実行の優先度を選択します。既定では、この入力は Normal に設定されています。
|
Orchestrator のフォルダー (必須) | プロセスがデプロイされるフォルダーを指定します。クラシック フォルダーの場合は、特定のロボット名を使用できます。モダン フォルダーの場合は、特定のユーザー名およびマシン名を使用できます。
サブフォルダーを入力するには、親フォルダーの名前とサブフォルダーの名前の両方を入力してください。例: AccountingTeam\TeamJohn |
ストラテジ | (動的割り当てまたはロボット固有の) 実行方法を指定します。動的に割り当てられたジョブの場合、プロセスは利用可能なアカウントとマシンで実行されます。または、ロボット固有のジョブを選択することもできます。 |
ジョブの種類 | モダン フォルダーでのみ利用可能です。ジョブを実行するランタイムのライセンス モデルを選択します。詳細については、ロボットのライセンスに関するページをご覧ください。 |
ジョブの数 | 動的な割り当て方法でのみ使用できます。このタスクを実行する回数を指定します。既定では、この入力は 1 に設定されています。
|
ユーザー (User) | モダン フォルダーでの動的割り当て方法でのみ使用できます。マシンのユーザー名を追加します。たとえば、この入力のローカル ユーザーは MachineName\UserName です。
|
マシン | モダン フォルダーでの動的割り当て方法でのみ使用できます。実行するマシンの名前です。 |
出力 | 結果は JSON ファイルで収集されます。ジョブの結果のパスを指定する必要があります (例: Output\testResults.json )。この入力を空白のままにすると、既定の出力が成果物のステージング ディレクトリに UiPathResults.json という名前で送信されます。
|
Timeout | 要求がタイムアウトするまで待機する秒数を指定します。 |
ジョブの失敗時にタスクを失敗状態にする | ジョブが 1 つでも失敗したときにタスクを失敗として設定する場合は、この入力を選択します。この入力は、既定で選択されています。 |
ジョブの完了まで待機 | ジョブの実行が完了するまで待機します。この入力は、既定で選択されています。 |
トレース レベル | ドロップダウン リストからログ レベルを選択します。 |
ロボット ID | コンマで区切られた特定のロボット名のリストです。 |
- 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
- 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
このタスクを使用して、Orchestrator インスタンスのアセットをデプロイ、更新、削除できます。
次のアセットの種類がサポートされています。
Text
- 文字列のみを格納します (引用符を追加する必要はありません)。Boolean
- true または false の値がサポートされています。Integer
- 整数値のみを格納します。Credential
- ロボットが特定のプロセスを実行するために必要なユーザー名とパスワードを格納します。この種類のアセットの場合、ユーザー名とパスワードをエンコードする必要がありますが、その際::
を使用してその 2 つのフィールドを区切ります。
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",
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",
詳細については、『Orchestrator ガイド』のアセットに関する説明をご覧ください。
以下の表を使用して、[UiPath のアセットを管理] の入力を設定します。
引数 | 説明 |
---|---|
表示名 (必須) | タスクの名前を入力します。 |
Orchestrator への接続 (必須) | UiPath Orchestrator サービスにアクセスするためのサービス接続を設定します。このステップのためだけの接続を設定するか、既存のグローバル接続を使用します。詳細については、「UiPath Orchestrator サービス接続を構成する」をご覧ください。 |
Orchestrator のフォルダー (必須) | プロセスがデプロイされるフォルダーを指定します。クラシック フォルダーの場合は、特定のロボット名を使用できます。モダン フォルダーの場合は、特定のユーザー名およびマシン名を使用できます。
サブフォルダーを入力するには、親フォルダーの名前とサブフォルダーの名前の両方を入力してください。例: AccountingTeam\TeamJohn |
アセットのアクションを選択 (必須) | ドロップダウン リストからオプションを選択します。 |
アセットの CSV ファイル (必須) | CSV ファイルのパスを追加します。アセットの [デプロイ] アクションと [更新] アクションの両方に同じファイルを使用できます。考慮事項:
(任意) 次の構文を使用して、各アセットに説明を設定できます。
type, value ,description |
トレース レベル | ドロップダウン リストからログ レベルを選択します。 |
- 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
- 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 タスクでは、既存の UiPath プロジェクトを NuGet パッケージ化できます。
以下の表を使用して、[UiPath の NuGet パッケージをパブリッシュ] の入力を設定します。
引数 | 説明 |
---|---|
表示名 (必須) | タスクの名前を入力します。 |
バージョン管理メソッドを選択 (必須) | 自動生成されたバージョンを選択するか、プロジェクト バージョンを使用するか、新しいバージョンを定義することができます。詳細については、「パッケージ バージョン」をご覧ください。 |
バージョン (必須) | モダン フォルダーでの動的割り当て方法でのみ使用できます。 パッケージバージョンを指定すると、ビルドされたパッケージとそのソースのバージョン管理をより効率的に追跡できます。 たとえば、NuGet パッケージのバージョンのビルドに Microsoft のアセンブリ パターンを使用できます。[Major]。[マイナー]。[ビルド番号][リビジョン番号]
使用可能なオプションは次のとおりです。
|
プロジェクトのパス (必須) | パッケージ化するプロジェクトの場所を選択します。project.json ファイルへの直接パスまたは 1 つ以上のプロジェクトを含むディレクトリへの直接パスを選択できます。後者の場合は、各レベル 1 のプロジェクトは個別にパッケージ化されます。 |
出力の種類を選択 (手動バージョン管理の場合のみ必須) | パッケージ化するプロジェクトの種類を設定します。None に設定すると、プロジェクトの種類はプロジェクトの JSON ファイルから抽出されます。サポートされているプロジェクトの種類は、「Process」、「Library」、「Tests」、「Objects」、「None」です。
|
Orchestrator への接続 (必須) | UiPath Orchestrator サービスにアクセスするためのサービス接続を設定します。このステップのためだけの接続を設定するか、既存のグローバル接続を使用します。詳細については、「UiPath Orchestrator サービス接続を構成する」をご覧ください。 |
出力パス | パッケージを配置するフォルダー パスを設定します。 |
ワークフローの分析を実行 | オートメーション プロジェクトでワークフロー分析ルールを実行するには、このオプションを選択します (例: エラーが発生するとジョブが失敗する)。既定では、このオプションはアクティブ化されていません。詳細については、「アプリケーション テストのワークフロー アナライザーのルール」をご覧ください。 |
トレース レベル | ドロップダウン リストからログ レベルを選択します。 |
- 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
- 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 の NuGet パッケージをデプロイ] タスクでは、UiPath Orchestrator に UiPath の NuGet パッケージをデプロイできます。
お使いのネットワークで、以下の NuGet パッケージ フィードへのアクセスが許可されていることを確認してください。
- 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
以下の表を使用して、[UiPath の NuGet パッケージをデプロイ] の入力を設定します。
引数 | 説明 |
---|---|
表示名 (必須) | タスクの名前を入力します。 |
Orchestrator への接続 (必須) | UiPath Orchestrator サービスにアクセスするためのサービス接続を設定します。このステップのためだけの接続を設定するか、既存のグローバル接続を使用します。詳細については、「UiPath Orchestrator サービス接続を構成する」をご覧ください。 |
パッケージ (必須) | UiPath NuGet パッケージのフィードを定義します。 |
プロセスを自動作成 | プロセスを作成せずにパッケージをデプロイする場合は、このオプションを選択します。既定では、このオプションは選択されています。 選択すると、[エントリ ポイント パス] パラメーターを設定する必要があります。 |
Orchestrator のフォルダー (必須) | プロセスがデプロイされるフォルダーを指定します。クラシック フォルダー (非推奨) の場合は、特定のロボット名を使用できます。モダン フォルダーの場合は、特定のユーザー名およびマシン名を使用できます。
サブフォルダーを入力するには、親フォルダーの名前とサブフォルダーの名前の両方を入力してください。例:
AccountingTeam\TeamJohn
|
環境 | (任意) クラシック フォルダー (非推奨) を使用する場合は、パッケージがデプロイされるロボット グループを定義する必要があります。このフィールドで、パッケージを作成または更新できます。次の例を使用して、このフィールドにコンマで区切ってロボット グループを追加できます。testingEnvironment,productionEnvironment
|
エントリ ポイントのパス (必須) | プロセスを作成または更新するエントリ ポイントのパスを指定します。このエントリ ポイントのパスは、プロジェクトのルートから開始するファイル パスを指定します。エントリ ポイントのパスを設定する前に、次の点を考慮するようにしてください。エントリ ポイントは、Orchestrator バージョン 21.4 以降で使用できます (例: 21.4.UiPathDeploy.entryPoints )。Orchestrator バージョン 21.4 未満の場合、フィールドを空のままにすることはできないため、任意の値を入力する必要があります。既定のエントリ ポイントは、Main.xaml に設定されています。「Main.xaml, EntryPoint2.xaml」のように、複数のエントリ ポイントを指定できます。クラシック フォルダー (非推奨) の場合は、1 つのロボット グループに 1 つのエントリ ポイントのみ指定できます。入れ子になったフォルダーの場合は、Folder01/Folder02/Main.xaml または Folder01/Folder02/Entrypoint.xaml のようにファイル パスを指定する必要があります。詳細については、『Orchestrator ガイド』の「エントリ ポイント」をご覧ください。
|
トレース レベル | ドロップダウン リストからログ レベルを選択します。 |
- 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
- 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 のテストを実行] タスクは Orchestrator で既存のテスト セットを実行します。また、UiPath テスト プロジェクトへのパスを指定し、このタスクを使用してテスト ケースをパッケージ化、デプロイ、実行することもできます。後者のオプションは、Orchestrator に一時的なテスト セットとして表示されます。
タスクの実行が終了すると、テスト結果が Azure DevOps の [Test] タブにアップロードされます。テスト結果の出力パスを JUnit 形式で指定できます。
結果に基づき、ビルドは成功 (すべてのテスト ケースが成功) または失敗 (少なくとも 1 つのテスト ケースが失敗) とマークされます。
以下の表を使用して、[UiPath のテストを実行] の入力を設定します。
引数 | 説明 |
---|---|
表示名 (必須) | タスクの名前を入力します。 |
テストの実行方法を選択 | 実行するテストを選択します。テスト セットを実行: Orchestrator の既存のテスト セットを指定して実行します。Execute tests in project: プロジェクトを指定し、パッケージをデプロイして、テスト ケースを一時的なテスト セットの一部として実行します。 |
Orchestrator への接続 (必須) | UiPath Orchestrator サービスにアクセスするためのサービス接続を設定します。このステップのためだけの接続を設定するか、既存のグローバル接続を使用します。詳細については、「UiPath Orchestrator サービス接続を構成する」をご覧ください。 |
入力パラメーター | JSON 入力ファイルのファイル パスを指定します (例: Input\jobParameters.json )。テスト セット レベルで新しい入力引数を作成する場合は、 type 引数を指定します。それ以外の場合は、name と value を使用できます。
|
テスト セット ([テスト セットを実行] メソッドの場合は必須) | 実行するテスト セットに表示される名前です。テスト セットにテスト ケースの最新バージョンが含まれるようにします。
テスト セットが既定のフォルダーに含まれていない場合は、前に適切なフォルダー名を含めてください。例:
AccountingTeam\TestSet
|
テスト プロジェクトのパス ([Execute tests in project] メソッドの場合は必須) | 一時的なテスト セットの一部として実行するテスト プロジェクトの場所を指定します。 |
ロボット グループ ([Execute tests in project] メソッドの場合は必須) | クラシック フォルダー (非推奨) を使用する場合は、パッケージがデプロイされるロボット グループを定義する必要があります。このフィールドで、パッケージを作成または更新できます。次の例を使用して、このフィールドにコンマで区切ってロボット グループを追加できます。testingEnvironment, productionEnvironment
|
Orchestrator のフォルダー (必須) | プロセスがデプロイされるフォルダーを指定します。クラシック フォルダー (非推奨) の場合は、特定のロボット名を使用できます。モダン フォルダーの場合は、特定のユーザー名およびマシン名を使用できます。
サブフォルダーを入力するには、親フォルダーの名前とサブフォルダーの名前の両方を入力してください。例:
AccountingTeam\TeamJohn
|
テスト結果の出力パス | テスト結果の出力パスを JUnit 形式で指定します (例: Output\testResults.json )。
|
Timeout | 要求がタイムアウトするまで待機する秒数を指定します。 |
トレース レベル | ドロップダウン リストからログ レベルを選択します。 |
Attach Robot Logs | 実行ロボットから INFO レベルのログを添付するには、このオプションを選択します。既定では、選択解除されています。詳細については、「ロボット ログ」をご覧ください。 |
-- 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
-- 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