MetaBots の移行方法
- 最終更新日2022/12/04
MetaBots の移行方法
MetaBot を Automation 360 に移行すると、アプリケーション画面を除き、MetaBot で使用可能なさまざまなロジックに対して同等の bots が作成されます。移行に成功すると、.mbot ファイルの各ロジックは Task Bot ファイルに変換されます。
MetaBot には、アセットとロジックが含まれています。アセットは、アプリケーションのタスクを自動化するために使用されるアプリケーション画面または DLL です。ロジックは、操作を実行し、他のロジックおよび bots と対話するためのコマンドのセットです。
- Bot Migration Wizardを使用して .atmx または .mbot を移行する前に、以前に移行した MetaBots またはTask Bots に関連するすべてのロジック、dll、.mbot、.atmx ファイルおよびその他の依存関係が [チェックアウト済み] 状態でないことを確認してください。そうでない場合は、再移行時に次のエラーが発生します。
Bot は移行準備ができていません。
- 移行している bot がチェックアウト済み、または以前に移行されていた場合は、移行対象の bot が [チェックイン済み] 状態であることを確認します。また、移行した Bot を再利用するには、Bot Migration Wizardで、[同じ名前の Bot が存在する場合は上書きする] オプションを選択します。更新された bot を使用するには、[同じ名前の Bot が存在する場合は上書きする] オプションを無効にします。
- MetaBot ロジックを対応する Task Bots に変換します。
- 移行後の MetaBots のフォルダー構造を維持します。Automation 360 で作成された新しいフォルダーには、Automation 360 に移行された各ロジックの Task Bots が格納されています。
- 移行された MetaBot ロジック用に作成された新しい Task Bots を参照するように、MetaBot ロジックを使用する Task Bots を更新します。
Task Bots は手動で更新する必要はありません。
MetaBots でのみ使用可能であった DLL の使用、入力および出力変数、[実行] 権限などの機能が、すべての Task Bots で使用可能になりました。
- MetaBot 名: MetaTask
- アセット:
- ログイン画面
- General.dll
- DLL\Binary.dll
- ロジック:
- Common
- Process1\Connect
- Process1\Disconnect
- Process1\Operations\Numeric
Automation 360 での再利用可能な Task Bots のメリット
Automation 360 再利用可能 Task Bots | v11 MetaBots |
---|---|
ファインダー コンポーネントを使用すると、わずかなクリック数で子 bot に移動できるので、時間の節約になります。 に移動して、子 bot を確認します。 | bot を確認する必要があります。 | アクションに移動して、子
非公開ワークスペースだけでなく、公開ワークスペースからも子 bots を検索して、Task Bots で使用できます。 | Task Bots で子 bot を使用するには、MetaBots をローカル リポジトリにダウンロードする必要があります。 |
タスクで使用される際に、特定の Logic のみがデプロイされるため、時間と帯域幅を削減できます。 | タスクで Logic が 1 つだけ使用されている場合でも、MetaBot 全体が Bot Runner マシンにデプロイされます。 |
さらに優れた RBAC を提供して、権限のカスタマイズを可能にします。 | 複数の Logic が異なるフォルダーに分散している場合でも、MetaBots は、すべての Logic に同じ権限を強制的に与えます。 |
MetaBot 移行処理
システムによって、[Bots] フォルダーにある [マイ MetaBot] フォルダー内の MetaBot と同じ名前のフォルダーが作成され、Enterprise 11 と同じフォルダー構造が保持されます。たとえば、Enterprise 11 のフォルダー構造が Accounts/Tax/MetaTask.mbot の場合、システムはフォルダー構造を Accounts/Tax/MetaTask.mbot として保持します。MetaBot のすべてのコンポーネントは、その MetaBot 用に作成されたフォルダーに格納されます。この例では、システムは Bots\My MetaBots フォルダーに MetaTask フォルダーを作成し、そのフォルダー内のすべての MetaBot のコンポーネントを格納します。
MetaBot ロジックを使用せずに MetaBot 内の DLL と画面を直接呼び出す Enterprise 10 bots は、Automation 360 の同等の Task Bots とactionsに移行されます。Enterprise 10 では、DLL がリスト型または配列型パラメーターを返し、その DLL の出力が値型パラメーターにマップされる場合、出力値の先頭に余分なスペースが追加されます。bot が移行された後は、出力値に余分なスペースは加算されません。
DLLの移行
システムは、DLL 間の参照を維持するために、アセットのフォルダー構造を維持しません。上の例では、General.dll と Binary.dll は MetaTask フォルダーに格納されていますが、Binaary.dll は DLL サブフォルダーに格納されています。
DLL を使用した MetaBots の Automation 360 への移行については、次のビデオを参照してください。
MetaBot 移行プロセスの概要
- 移行した bot の DLL セッションの概念
-
移行した bot の DLL の変更は次のとおりです。
- 同じ名前の DLL を含む複数の MetaBots を持つTask Bot を移行する場合、最初の DLL の名前を使用したセッション名が作成されます。その後に他の MetaBot から同じ名前を持つ DLL を移行する場合、その DLL が存在するフォルダーの ID がセッション名として使用されます。
例:
M_DLL_Session-<MetabotFolderId>_<DLLName>.
- Enterprise 11 の [DLL の実行] コマンドを Automation 360 に移行する場合、コマンドは [開く] アクション、[関数を実行] アクション、および [DLL セッションが存在しません] If 条件に変換されます。
- DLL セッション名は、「M-DLL-Session」トークンに DLL 名を付加して作成されます。たとえば、DLL 名が Sample.dll であった場合、移行後の DLL セッション名は M-DLL-Session-Sample になります。
- DLL セッションは、DLL 関数を実行するために使用している DLL を表します。
- 同じ DLL から複数の関数を実行するには、同じ DLL セッション名を [セッション名] フィールドに指定する必要があります。
- 同じ名前の DLL を含む複数の MetaBots を持つTask Bot を移行する場合、最初の DLL の名前を使用したセッション名が作成されます。その後に他の MetaBot から同じ名前を持つ DLL を移行する場合、その DLL が存在するフォルダーの ID がセッション名として使用されます。
- 移行した bot 内の DLL セッションの存在をチェックする条件
-
移行後、同じ DLL を同じ MetaBot の複数のロジックで使用する場合、DLL セッションが 1 回だけ開かれるようにするために、DLL セッションが既に開かれているかどうかをチェックする条件を各 DLL に追加します。MetaBot で使用される一部の DLL は、複数の DLL 関数でセッションやグローバル変数を共有します。このような DLL 関数が異なるロジックから呼び出された場合、DLL セッションが 1 回だけ開かれ、DLL セッションが既に利用可能かどうかをチェックする条件が追加されたときにのみ、セッションおよび変数の共有が可能になります。DLL セッションがない場合、Automation 360 はタイプ [グローバル] の DLL セッションを作成します。
- MetaBot の同じまたは異なるロジックからの 2 つの DLL 関数への参照を持つ移行されたTask Bot はどうなりますか?
-
Enterprise 11 では、Automation 360 でTask Bot が [ロジックを実行] コマンドを使用して 2 つの関数を呼び出すロジックを参照していた場合、Task Bot で DLL セッションが作成され (ロジックはTask Bots として移行される)、[関数を実行] アクションで使用されます。また、Task Bot が複数の関数を呼び出す複数のロジックを参照する場合にも、Task Bots は同じ DLL セッション名を使用して関数を実行します。DLL セッションの条件チェックは、このようなロジックにまたがって 1 つのセッションしか作成されないことを保証するものです。
たとえば、Task Bot が MetaBot1 ロジックと MetaBot2 ロジックを使用していて、MetaBot1 ロジックと MetaBot2 ロジックが複数の関数を呼び出している場合にタスク Bot を実行すると、MetaBot1 ロジックを実行する DLL セッション名が作成されます。MetaBot1 ロジックを実行するために作成された DLL セッション名は、MetaBot2 ロジックを実行する際にも使用されます。
画面の移行
MetaBot の各画面は、Windows 変数に変換され、画面で実行されるactionsはAutomation 360の同等のactionsに移行されます。
ブラウザ | Internet Explorer Google Chrome (オブジェクト再生タイプのみ) |
スクリーンタイプ | 標準 |
テクノロジー | Java、HTML、MSAA、.Net、UI Automation (オブジェクト再生タイプのみ) |
再生タイプ | オブジェクト、画像、座標 |
Java、UI オートメーション、MSAA テクノロジーに基づくアプリケーションから、Citrix 環境でキャプチャした画面を使用して、MetaBots を移行することもできます。
オブジェクト再生タイプを使用してキャプチャされた MetaBot 画面上のリンクされたオブジェクトは、Recorder packageの [キャプチャ] actionに移行されます。ソース オブジェクトは [メイン] タブに表示され、リンクされたオブジェクトは [キャプチャ] アクションの [アンカー] タブに表示されます。
再生タイプ | Enterprise 11 アクション | Automation 360 アクション |
---|---|---|
オブジェクト | プロパティを取得、合計項目数の取得、選択したインデックスの取得、選択したテキストの取得、テキストによる項目の選択、インデックスによる項目の選択、クリック、左クリック、右クリック、ダブルクリック、テキストを設定、テキストを追加、プロパティを取得、チェック、チェック解除、トグル、展開、選択、ステータスを取得。 | Recorder packageの [キャプチャ] actionに移行されます。 Enterprise 11/Enterprise 10 の [GetAllChidrenName] および [GetAllChidrenValue] コマンドは、文字列型変数値を返します。Automation 360 では、これらのアクションはリスト値を返します。移行処理では、複数のリスト値が結合され、リリース間で一貫した bot の動作を維持するために文字列変数に格納されます。 Enterprise 11/Enterprise 10 の [CSV にエクスポート] アクションの [オブジェクト クローニング] コマンドは、次の場所に移行されます。
|
再生タイプ | Enterprise 11 アクション | Automation 360 アクション |
---|---|---|
画像 | 左クリック | [アクション] リストから [左クリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 |
右クリック | [アクション] リストから [右クリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 | |
ダブルクリック | [アクション] リストから [ダブルクリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 | |
中央クリック | [アクション] リストから [左クリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 | |
テキストを設定 | 移行先:
|
|
テキストを取得 | OCR packageの [領域をキャプチャ] actionに移行されます。 | |
GetVisibility | Image Recognition:[ウィンドウを検索する] の条件付き [IF] アクションに移行済み。[GetVisibility] アクションは、画像内のオブジェクトが可視状態であるかどうかに基づいて [True] または [False] の値を返します。同様に、[IF] アクション内の条件は、ウィンドウが別のウィンドウで見つかったかどうかに基づいて評価されます。結果は臨時変数に格納されます。 |
再生タイプ | Enterprise 11 アクション | Automation 360 アクション |
---|---|---|
座標 | クリック | [左ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 |
左クリック | [左ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
右クリック | [右ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
中央クリック | [中央ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
ダブルクリック | [左ボタン] および [ダブル クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
テキストを設定 | 移行先:
|
|
テキストを取得 | 移行先:
|
再生タイプ | Enterprise 11 アクション | Automation 360 アクション |
---|---|---|
座標 | クリック | [左ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 |
左クリック | [左ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
中央クリック | [中央ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
ダブルクリック | [左ボタン] および [ダブル クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
テキストを設定 | 次に移行しました。
|
|
テキストを取得 | 次に移行しました。
|
再生タイプ | Enterprise 11 アクション | Automation 360 アクション |
---|---|---|
テキスト | クリック | [アクション] リストから [左クリック] が選択された状態で、Image Recognition package の [ウィンドウでウィンドウを検索] action に移行されます。 |
左クリック | [アクション] リストから [左クリック] が選択された状態で、Image Recognition package の [ウィンドウでウィンドウを検索] action に移行されます。 | |
ダブルクリック | [アクション] リストから [ダブルクリック] が選択された状態で、Image Recognition package の [ウィンドウでウィンドウを検索] action に移行されます。 | |
テキストを設定 | 次に移行しました。
|
|
テキストを取得 | OCR packageの [領域をキャプチャ] actionに移行されます。 |
ロジックの移行
MetaBot の各ロジックは、Task Bot に変換され、ロジックで使用される各コマンドは Automation 360 で同等のアクションに変換されます。ロジックで使用される変数は、Automation 360 の同等の変数に変換されます。ロジックで使用される資格情報変数は Automation 360 に移行され、移行した bots の同等のアクションで使用されます。変数の [パラメーター タイプ] が入力または出力の場合、その変数が Automation 360 に移行された後も、同じパラメーターが維持されます。たとえば、変数 ABC の [パラメーター タイプ] が [入力] に設定されている場合、Automation 360 で作成される変数 ABC には、移行後に [入力として使用] オプションが選択されます。ロジックの内部フォルダー構造が保持されます。上の例では、移行されたロジックはすべて、下表に示すように格納されます。
Automation 360 のフォルダー構造 | エントリ |
---|---|
MetaTask | 共通 |
MetaTask\Process1 | 接続 |
MetaTask\Process1 | 接続解除 |
MetaTask\Process1\Operations | 数値 |
再生タイプ | Enterprise 11 アクション | Automation 360 アクション |
---|---|---|
オブジェクト | プロパティの取得、合計項目の取得、選択したインデックスの取得、選択したテキストの取得、テキストによる項目の選択、インデックスによる項目の選択、クリック、左クリック、右クリック、ダブルクリック | Recorder packageの [キャプチャ] actionに移行されます。 |
画像 | 左クリック | [アクション] リストから [左クリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 |
右クリック | [アクション] リストから [右クリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 | |
ダブルクリック | [アクション] リストから [ダブルクリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 | |
中央クリック | [アクション] リストから [左クリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 | |
テキストを設定 | 移行先:
|
|
座標 | クリック | [左ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 |
左クリック | [左ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
中央クリック | [中央ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
ダブルクリック | [左ボタン] および [ダブル クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
テキストを設定 | 移行先:
|
再生タイプ | Enterprise 11 アクション | Automation 360 アクション |
---|---|---|
オブジェクト | プロパティの取得、合計項目の取得、選択したインデックスの取得、選択したテキストの取得、テキストによる項目の選択、インデックスによる項目の選択、クリック、左クリック、右クリック、ダブルクリック | Recorder packageの [キャプチャ] actionに移行されます。 |
画像 | 左クリック | [アクション] リストから [左クリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 |
右クリック | [アクション] リストから [右クリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 | |
ダブルクリック | [アクション] リストから [ダブルクリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 | |
中央クリック | [アクション] リストから [左クリック] が選択された状態で、Image Recognition packageの [ウィンドウでウィンドウを検索] actionに移行されます。 | |
テキストを取得 | OCR packageの [領域をキャプチャ] actionに移行されます。 | |
座標 | クリック | [左ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 |
左クリック | [左ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
中央クリック | [中央ボタン] および [クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
ダブルクリック | [左ボタン] および [ダブル クリック] オプションが選択された状態で、Mouse packageの [クリック] actionに移行されます。 | |
テキストを取得 | 移行先:
|
[ロジックを実行] コマンドの移行
[ロジックを実行] コマンドは、Enterprise 11 で特定のロジックを MetaBot から実行するために bot で使用されます。その bot を移行すると、[ロジックを実行] コマンドは、Task Bot packageの [実行] アクションに変換されます。
入力変数は Automation 360 で同等の変数に変換され、出力変数はディクショナリ変数に移行されます。ディクショナリ変数のキーを使用して、関連する値を使用します。ディクショナリ変数には、リスト、値、整数、配列など、他の変数型が含まれる場合があります。ディクショナリ変数で利用できる変数を、他の変数型とマッピングすることができます。たとえば、ディクショナリ変数で利用できるリスト型変数と、リスト型、バリュー型、アレイ型の変数を対応させることができます。
[実行] コマンドの移行
MetaBots の DLL は、[実行] コマンドを使用して、その DLL から関数を実行します。Automation 360 への移行後、各 [実行] コマンドが [DLL] パッケージの [開く]、[関数を実行]、および [閉じる] アクションに変換されます。DLL から実行する関数に関する情報、使用するパラメーター、および [実行] コマンドのその他の詳細が、[実行] アクションに移行されます。
MetaBot 変数型 | DLL 関数の戻り値型 |
---|---|
値 | 2次元配列、リスト、配列中のバイト (Byte[])、符号なし整数 (UInt32、UInt64)、符号付き整数、Idictionary、IList、配列中の符号なし整数 (UInt16[]、UInt32[]、UInt64[])、符号付きバイト |
Array | 2次元配列、リスト、符号なし整数(UInt16[]、UInt32、UInt64)、符号付き整数、IList、符号付きバイト、IDictionary |
MetaBot の変数型 | DLL が受け入れる入力変数型 |
---|---|
リスト | 2次元配列、リスト、バイト、符号なし整数 (UInt16、UInt32、UInt64)、符号付き整数、符号付きバイト、配列中のバイト (Byte[])、配列中の符号なし整数 (UInt16[]、UInt32[]、UInt64[]) |
Array | 2次元配列、リスト、バイト、符号なし整数 (UInt16、UInt32、UInt64)、符号付き整数、符号付きバイト、配列中のバイト (Byte[])、配列中の符号なし整数 (UInt16[]、UInt32[]、UInt64[]) |
値 | バイト、符号なし整数 (UInt16、UInt32、UInt64)、符号付き整数、符号付きバイト |
ディクショナリ | バイト、符号なし整数 (UInt16、UInt32、UInt64)、符号付き整数、符号付きバイト |