studio
2024.10
true
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。
UiPath logo, featuring letters U and I in white
Studio ガイド
Last updated 2024年11月18日

コード化されたテスト ケース

コード化されたテスト ケースでは、構造化された方法でアプリケーションの動作を自動化および検証します。ローコード テスト ケースに似ており、コードを使用した柔軟なオートメーションが可能です。

コード化されたテスト ケースを作成するときは、Given-When-Then 構造体を定義します。この構造体は、以下の 3 つのフェーズで構成されます。
  1. Arrange - このフェーズでは、アプリケーションを準備します。
  2. Act - このフェーズは、特定のアクションを実行します。
  3. Assert - このフェーズでは、期待される結果が検証されます。

コード化されたテスト ケースでは、他のローコード ワークフローまたはテスト ケースを呼び出して、コードを再利用することもできます。この連携により、柔軟なテスト シナリオを作成できます。

コード化されたテスト ケースには実行テンプレートを適用することもできます。実行テンプレートの使用方法については、「実行テンプレート」をご覧ください。



構造

コード化されたオートメーションは、名前空間、ヘルパー クラス、およびエントリ ポイントのメソッドを使用した構造化されたデザインを特徴とします。コード化されたオートメーションのフレームワークを使用すると、C# プログラミング言語を使用してオートメーションを記述できます。

コード化されたオートメーションの詳細な構造は、以下のセクションに記載されています。

コード化されたオートメーションを作成すると、Studio プロジェクトの名前を使用して名前空間が自動的に生成されます。たとえば、Studio プロジェクトの名前が「My project」である場合、コード化されたすべてのオートメーションの名前空間は「Myproject」になります。

また、Studio プロジェクトのフォルダー内にコード化されたオートメーションを作成した場合、名前空間はプロジェクトの名前とフォルダーの名前の組み合わせになります。たとえば、Studio プロジェクトの名前が「My project」でフォルダーの名前が「place」である場合、名前空間は「Myproject.place」になります。

コード化されたワークフローコード化されたテスト ケースのオートメーションはどちらも、UiPath.CodedWorkflows パッケージの CodedWorkflow 部分クラスを使用します。このクラスは、プロジェクトにインストールされているアクティビティ パッケージに基づいて、サービスに必要なインターフェイス (アクティビティ パッケージと同じ) へのアクセス権をオートメーションに付与します。
注: UiPath.System.Activities 23.10 以降などの、コード化されたオートメーションをサポートするアクティビティ パッケージをインポートするときには、UiPath.CodedWorkflows パッケージが自動的に含まれます。

コード化されたワークフロー

コード化されたオートメーションは、部分クラス CodedWorkflow を継承し、CodedAutomationExample : CodedWorkflow 型のリレーションシップを作成します。つまり、クラス CodedAutomationExample は、クラス CodedWorkflow から属性、メソッド、および機能を継承します。これにより、コード化されたオートメーションの基盤となるクラス CodedWorkflow で定義されている機能にアクセスして利用できるため、オートメーションの動作が構築・カスタマイズしやすくなります。
CodedWorkflow クラスは部分クラスとして宣言され、コード ソース ファイルで同じ部分クラス CodedWorkflow を定義することで機能を拡張できます。これにより、新しいフィールドやメソッドを追加して、コード化されたオートメーションの動作をさらにカスタマイズできます。この方法を使用すると、コード化されたテスト ケースのためのBefore インターフェイスと After インターフェイスを実装できます。
さらに、CodedWorkflow 部分クラスは CodedWorkflowBase クラスを継承します。


CodedWorkflowBase

CodedWorkflowBase クラスは、コード化されたオートメーションが継承する組み込み機能を保持します。このクラスには、ワークフロー インスタンスの管理、ランタイム アクセス、サービス コンテナーの処理、および環境コンテキストの構成を行うためのメソッドと特定のプロパティが含まれています。CodedWorkflowBase クラスには、ユーザー自身がカスタマイズできるログ用メソッドも別途用意されています。
注: [コード エディターの設定] で、[ソースの逆コンパイルを有効化] を選択して CodedWorkflowBase クラスを表示します。
以下の表の CodedWorkflowBase メソッドの説明を確認してください。
メソッド説明
ICodedWorkflowServices services
注: Log メソッド、BuildClient メソッド、および RunWorkflow メソッドは、すぐに使用可能なスタンドアロンのメソッドとして使用するのではなく、services クラスとそれに対応するサービスを介して使用することをお勧めします。
次のような、コード化されたワークフローで利用可能なサービスへのアクセスを提供します。
  • OutputLoggerService: Log メソッドを使用してログを出力できます。
  • OrchestratorClientService (BuildClient メソッド): BuildClient メソッドを介した Orchestrator との対話を有効化できます。
  • WorkflowInvocationService: RunWorkflow メソッドを使用して、他のワークフローを呼び出すことができます。
  • Container: すべてのサービスが格納されるコンテナーです。AutoImportedNamespaces メソッドと AutoImportedTypes メソッドを使用して、名前空間と型の自動インポートを処理し、コード化されたワークフローのリソースを管理できます。さらに、Resolve メソッドを使用して、特定のサービスのインスタンスを提供します。
serviceContainer(ICodedWorkflowServiceContainer)
注: これは ICodedWorkflowServices services で置き換えられました。この構文を引き続き使用する場合は、新しい services.Container 構文を使用するように指示する警告が表示されます。
現在のコード化されたワークフローに固有の依存関係インジェクション コンテナーにアクセスできるようにします。このコンテナーは、サービス コンテナーと呼ばれ、コンテナー内に登録されているサービスのインスタンスを取得できるようにします。
GetRunningJobInformation()コード化されたワークフローのコンテキスト内で現在実行中のジョブに関する情報を取得します。このメソッドは、ジョブのステータス、進行状況、パラメーター、およびタイムスタンプに関する情報を保持する executorRuntime オブジェクトの RunningJobInformation プロパティにアクセスします。
Log(string message, LogLevel level = LogLevel.Info, IDictionary<string, object>additionalLogFields = null)指定した属性を持つログ メッセージにログ フィールドを追加します。
RunWorkflow(string workflowFilePath,IDictionary<string, object> inputArguments = null,TimeSpan? timeout = null, bool isolated = false, InvokeTargetSession targetSession = InvokeTargetSession.Current)特定のワークフロー ランタイムのコンテキスト内でワークフローを実行するための構造を提供します。パラメーターの設定、潜在的な分離の処理、ワークフローの実行開始が可能です。返されるタスクは、実行されたワークフローの結果 (出力および入力/出力引数を含む) を示します。
RunWorkflowAsync(string workflowFilePath,IDictionary<string, object> inputArguments = null, TimeSpan?timeout = null, bool isolated = false, InvokeTargetSession targetSession = InvokeTargetSession.Current)特定のワークフロー ランタイムのコンテキスト内でワークフローを非同期的に実行するための構造を提供します。パラメーターの設定、潜在的な分離の処理、ワークフローの実行開始が可能です。返されるタスクは、実行されたワークフローの結果 (出力および入力/出力引数を含む) を示します。
DelayAsync(TimeSpan time)DelayAsync(int delayMs)指定された時間、非同期的に実行を中断します。
Delay(TimeSpan time)Delay(int delayMs)指定した期間、実行を中断します。
HttpClient BuildClient(string scope = "Orchestrator", bool force = true)指定されたスコープとアクセス トークンを使用して HTTP クライアントを構築します。
RegisterServices(ICodedWorkflowsServiceLocator serviceLocator)コード化されたワークフローのサービス ロケーターにサービス (アクティビティ パッケージ) を登録します。これは、カスタム サービスを依存関係インジェクション コンテナーに挿入するときにオーバーライドできます。カスタム サービス (コード化されたアクティビティ パッケージ) の作成および使用方法については、こちらをご覧ください。
コード化されたワークフローとコード化されたテスト ケースの両方のエントリ ポイント メソッドの名前は Execute() であり、Workflow または TestCase のいずれかに属性付けされています。メソッドの名前は、Workflow または TestCase のいずれかに属性付けする限り変更できます。
ファイル内で使用できるのは、Coded Workflow クラスを継承する 1 つの Execute() メソッド ([TestCase] または [Workflow]) のみです。

このメソッドでは、入力引数または出力引数を追加できます。これらの引数は、ローコード オートメーションの入力出力、または入力/出力引数に相当します。コード化されたオートメーションでの引数の使用方法については、「入力引数と出力引数を使用する」のチュートリアルをご覧ください。

このエントリ ポイント メソッドは、オートメーションを実行するための開始点として機能します。そのため、コード化されたワークフローやテスト ケースが Execute() メソッドによりエントリ ポイントとして簡単に識別されるようになります。


プロジェクトの対応 OS

コード化されたオートメーションは、Windows プロジェクトとクロスプラットフォーム プロジェクトでのみ使用できます。

このページは役に立ちましたか?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
Uipath Logo White
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.