- 概要
- UiPath CLI
- Azure DevOps 拡張機能
- Jenkins プラグイン

CI/CD 連携ユーザー ガイド
Test Manager でパッケージをテストする、またはテスト セットを実行する
Test Manager でパッケージをテストする、またはテスト セットを実行する
前提条件
-
最新バージョンの Test Manager を使用します (Automation Suite へのデリバリーの場合は Test Manager 2.2510 以降、スタンドアロンでのインストールの場合は Test Manager 25.10 以降)。
-
Orchestrator の既存のテスト セットを参照している場合は、そのテスト セットを Test Manager にインポートします。詳細については、「 Test Manager - Orchestrator のテスト セットをインポートする」をご覧ください。インポート後に testset-key を取得します。
-
Test Manager でプロジェクトを作成し、プロジェクト キーを取得します。[すべてのプロジェクト] > Test Manager からプロジェクト キーを取得します> プロジェクトの 3 点リーダー メニューに移動し、[>プレフィックスを編集] >します。
-
自動化されたテスト ケースを含むパッケージまたはテスト セットを作成します。Test Manager の [テスト セット] タブ> [キー] 列> testset-key を取得します。
-
クライアント ID とクライアント シークレットを取得します。クライアント ID とクライアント シークレットの取得方法の詳細については、「 CI/CD との連携 - UiPath CLI タスクを実行する 」の「外部アプリケーションを登録する」をご覧ください。
-
Windows/Linux/macOS 用の uipcli.dll ファイルを実行します。
-
必要な Test Manager API アクセスのアプリケーション スコープを追加します。Test Manager のスコープについて詳しくは、「 CI/CD との連携 - UiPath CLI タスクを実行する 」をご覧ください。
CLI で Test Manager を使用する
Test Manager を使用してパッケージをテストするには、次の手順を実行します。 uipcli test を使用してテスト タスクを実行します。利用可能なサブタスクのリストが表示されます。必要なパラメーターを指定し、[実行] サブタスクを選択します。
Orchestrator でのテストの代わりに Test Manager を使用するには、test run コマンドで --projectKey パラメーターを指定します。CLI によって、Test Manager を介してテストが自動的に実行されます。
テスト コマンドのパラメーター
| パラメーター | 説明 | Required |
|---|---|---|
Orchestrator URL (pos. 0) | Orchestrator インスタンスの URL です | はい |
Orchestrator Tenant (pos. 1) | パッケージまたはテスト セットが含まれるテナント | SaaS デプロイの場合は必須、PaaS デプロイの場合は任意 |
-P, --project-path | テストするテスト パッケージ ファイルへのパスです | いいえ |
--projectKey | [すべてのプロジェクト] > Test Manager に表示されるプロジェクト キー > [プロジェクトの 3 点リーダー] メニューに移動し、[>プレフィックスを編集] >移動します。プロジェクト キーは、すべてのオブジェクト キーのプレフィックスです。 | はい (Test Manager の場合) |
--testsetkey | Test Manager の [テスト セット] タブ> [キー] 列に表示されるテスト セット>キーです。テスト セットに最新バージョンのテスト ケースが含まれていることを確認します。 | いいえ |
-s, --testset | このパラメーターは Orchestrator フローでのみ使用する必要があります。実行するテスト セットに表示される名前です。テスト セットに最新バージョンのテスト ケースが含まれていることを確認します。テスト セットが既定のフォルダーに含まれていない場合は、前に適切なフォルダー名を含めてください。例: AccountingTeam\TestSet | いいえ |
--out | 結果ファイルの種類 (junit または uipath) です | いいえ |
-r, --result_path | 結果の保存先のファイルのパスです | いいえ |
-e, --environment | パッケージをデプロイする環境です。これは、 project path | クラシック フォルダーに必要です |
-w, --timeout | テスト セットの実行を待機する時間 (秒単位) です。既定値は 7200 秒です | いいえ |
-i, --input_path | JSON 入力ファイルへのフル パスです。ファイル構造について詳しくは、「 入力パラメーター JSON 形式 」をご覧ください。 | エントリ ポイント ワークフローに入力パラメーターがある場合は必須です |
--attachRobotLogs | 実行された各テスト ケースのロボット ログと JUnit テスト レポートを添付します。 | いいえ |
--repositoryUrl | プロジェクトがバージョン管理されているリポジトリの URL です | いいえ |
--repositoryCommit | プロジェクトの構築元であるリポジトリのコミットです | いいえ |
--repositoryBranch | プロジェクトの構築元のリポジトリ ブランチです | いいえ |
--repositoryType | VCSシステム・リポジトリ・タイプ | いいえ |
--projectUrl | Automation Hub のアイデアの URL | いいえ |
--releaseNotes | リリースノートの追加 | いいえ |
--nugetConfigFilePath | フィードを含む NuGet.Config ファイルへのパスです。指定したファイルの <clear /> タグは無視され、ソースのみが考慮されます。 | いいえ |
--disableBuiltInNugetFeeds | 組み込みの NuGet フィードを無効化 | いいえ |
--retryCount | 失敗したテスト ケースのリトライ回数 (既定では、リトライは設定されていません) | いいえ |
-u, --username | Orchestrator への認証に使用するユーザー名です。対応するパスワードと組み合わせる必要があります | 基本認証に必要です |
-p, --password | Orchestrator への認証に使用するパスワードです。対応するユーザー名と組み合わせる必要があります | 基本認証に必要です |
-t, --token | Orchestrator への認証に使用される OAuth2 更新トークンです。アカウント名およびクライアント ID と組み合わせる必要があります | トークンベースの認証に必要です |
-a, --accountName | Orchestrator Cloud RPA のアカウント名です。OAuth2 更新トークンおよびクライアント ID と組み合わせる必要があります | トークンベースの認証に必要です |
-A, --accountForApp | Orchestrator Cloud RPA のアカウント名 (組織名) です。外部アプリケーションのアプリケーション ID、アプリケーション シークレット、アプリケーション スコープと組み合わせて使用する必要があります。 | いいえ |
-I, --applicationId | 外部アプリケーション ID です。アプリケーション アカウント、アプリケーション シークレット、アプリケーション スコープと組み合わせて使用する必要があります | 外部アプリケーションの認証に必要 |
-S, --applicationSecret | 外部アプリケーション シークレットです。アプリケーション アカウント、アプリケーション ID、アプリケーション スコープと組み合わせて使用する必要があります | 外部アプリケーションの認証に必要 |
--applicationScope | アプリケーション スコープを単一のスペースで区切って列挙したリストです。外部アプリケーションのアプリケーション アカウント、アプリケーション ID、アプリケーション シークレットと組み合わせて使用する必要があります。 | 外部アプリケーション認証の場合は任意です。指定されていない場合は既定のスコープを使用する |
-o, --organizationUnit | テスト セットを実行する Orchestrator のフォルダーです。 | いいえ |
--author | パッケージの作成者 | いいえ |
-l, --language | Orchestrator のユーザー インターフェイスで使用される言語 | いいえ |
--traceLevel | イベントのトレースを表示します | いいえ |
--identityURL | Identity Server の URL です | PaaS または MSI のデプロイに必要です |
--applicationScope パラメーターを指定せずに外部アプリケーション認証を使用すると、CLI は Test Manager の以下の既定のスコープを自動的に適用します。
TM.Projects TM.TestSets TM.TestExecutions
既定の OR スコープに加えて、以下の操作も行います。
OR.Assets OR.BackgroundTasks OR.Execution OR.Folders OR.Robots.Read OR.Machines.Read OR.Jobs OR.TestSets OR.TestSetExecutions OR.Monitoring OR.Settings.Read
使用例
Test Manager で既存のテスト セットを実行します。
# Windows
uipcli test run "https://cloud.uipath.com/" "TenantName" `
--projectKey "MyTestProject" `
--testsetkey "MyTestSet" `
-A "organizationName" `
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" `
-S '********' `
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" `
-o "FolderName" `
--out "junit" `
--result_path "C:\TestResults"
--author ExampleAuthor
# Linux/macOS
uipcli test run "https://cloud.uipath.com/" "TenantName" \
--projectKey "MyTestProject" \
--testsetkey "MyTestSet" \
-A "organizationName" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S '********' \
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" \
-o "FolderName" \
--out "junit" \
--result_path "./test-results"
--author ExampleAuthor
# Windows
uipcli test run "https://cloud.uipath.com/" "TenantName" `
--projectKey "MyTestProject" `
--testsetkey "MyTestSet" `
-A "organizationName" `
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" `
-S '********' `
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" `
-o "FolderName" `
--out "junit" `
--result_path "C:\TestResults"
--author ExampleAuthor
# Linux/macOS
uipcli test run "https://cloud.uipath.com/" "TenantName" \
--projectKey "MyTestProject" \
--testsetkey "MyTestSet" \
-A "organizationName" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S '********' \
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" \
-o "FolderName" \
--out "junit" \
--result_path "./test-results"
--author ExampleAuthor
プロジェクトから一時的なテスト セットを作成して実行します。
一時的なテスト セットは、プロジェクト パスからその場で作成される一時的なテスト セットです。
uipcli test run "https://cloud.uipath.com/" "TenantName" \
--projectKey "MyTestProject" \
-P "./MyTestProject/project.json" \
-e "TestEnvironment" \
-A "organizationName" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S '********' \
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" \
-o "FolderName" \
--out "uipath" \
--result_path "./test-results"
uipcli test run "https://cloud.uipath.com/" "TenantName" \
--projectKey "MyTestProject" \
-P "./MyTestProject/project.json" \
-e "TestEnvironment" \
-A "organizationName" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S '********' \
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" \
-o "FolderName" \
--out "uipath" \
--result_path "./test-results"
パラメーターを上書きしてテストを実行します。
uipcli test run "https://cloud.uipath.com/" "TenantName" \
--projectKey "MyTestProject" \
--testsetkey "MyTestSet" \
-i "./test-parameters.json" \
-A "organizationName" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S '********' \
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" \
-o "FolderName" \
--out "junit" \
--result_path "./test-results"
uipcli test run "https://cloud.uipath.com/" "TenantName" \
--projectKey "MyTestProject" \
--testsetkey "MyTestSet" \
-i "./test-parameters.json" \
-A "organizationName" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S '********' \
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" \
-o "FolderName" \
--out "junit" \
--result_path "./test-results"
Execute test with robot logs attachment:
uipcli test run "https://cloud.uipath.com/" "TenantName" \
--projectKey "MyTestProject" \
--testsetkey "MyTestSet" \
--attachRobotLogs true \
-A "organizationName" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S '********' \
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" \
-o "FolderName" \
--out "junit" \
--result_path "./test-results"
uipcli test run "https://cloud.uipath.com/" "TenantName" \
--projectKey "MyTestProject" \
--testsetkey "MyTestSet" \
--attachRobotLogs true \
-A "organizationName" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S '********' \
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" \
-o "FolderName" \
--out "junit" \
--result_path "./test-results"
レポートの種類
Test Manager では、次の 2 つの出力形式がサポートされています。
| 形式 | 説明 | ユースケース |
|---|---|---|
junit | JUnit XML 形式 | CI/CD との連携 (Jenkins、Azure DevOps、GitHub Actions) |
uipath | UiPath のネイティブ形式 | Test Manager 固有のデータを含む詳細な実行レポート |
Orchestrator のテストからの移行
(Orchestrator のテスト前):
uipcli test run "https://cloud.uipath.com/" "TenantName" \
-s "MyTestSet" \
-u "username" \
-p "password" \
-o "FolderName" \
-P "./project.json"
uipcli test run "https://cloud.uipath.com/" "TenantName" \
-s "MyTestSet" \
-u "username" \
-p "password" \
-o "FolderName" \
-P "./project.json"
再読み込み後 (Test Manager):
uipcli test run "https://cloud.uipath.com/" "TenantName" \
--projectKey "MyTestProject" \
--testsetkey "MyTestSet" \
-A "organizationName" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S '********' \
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" \
-o "FolderName" \
--out "junit" \
--result_path "./results"
uipcli test run "https://cloud.uipath.com/" "TenantName" \
--projectKey "MyTestProject" \
--testsetkey "MyTestSet" \
-A "organizationName" \
-I "becc663c-8f1e-409a-a75f-c00330d80bc8" \
-S '********' \
--applicationScope "OR.Folders OR.Execution TM.Projects TM.TestSets TM.TestExecutions" \
-o "FolderName" \
--out "junit" \
--result_path "./results"
主な違い:
--projectKeyパラメーターを追加して Test Manager を有効化します- テスト セットの識別に
-sではなく--testsetkeyを使用する - Test Manager で OAuth 認証 (アプリケーション資格情報) が必要
- 出力形式を
--outで指定し、出力先を--result_pathで指定
ベスト プラクティス
Test Manager の設定:
- さまざまなアプリケーションやチーム専用の Test Manager プロジェクトを作成する
- わかりやすいプロジェクト キーとテスト セット キーを使用して、簡単に識別できるようにします
- 目的 (回帰、煙、統合など) ごとにテスト セットを整理します。
パラメータ管理:
- 環境固有の構成には、パラメーター ファイル (
-i) を使用します - 機密性の高いパラメーターは、パラメーター ファイルではなく CI/CD シークレットに保存する
- テスト セットの説明に必要なパラメーターを文書化します
リトライ ロジック:
- 断続的に失敗する可能性のある不安定なテストには
--retryCountを使用します - テスト期間に基づいて適切な
--timeout値を設定する - リトライ パターンを監視して、不安定なテストを特定して修正します
報告:
- CI/CD パイプライン連携に
junit形式を使用する - Test Manager で詳細を分析するには
uipath形式を使用します - テストの不合格をデバッグするための
--attachRobotLogsの有効化
CI/CD との連携:
- セキュリティで保護された環境変数を使用して Test Manager の認証を設定する
- コードのコミットまたはプル要求に対する自動テスト実行を設定する
- テストレポートをビルド成果物としてアーカイブし、履歴を追跡