アプリケーションモデラー

Object Studioは、エンドユーザーアプリケーションを操作するための小さなモジュール単位を作成できるように設計されています。これまで、このようなアプリケーションと通信するには、コンピュータープログラマーのサービスを探す必要がありました。Object Studioは、この機会をビジネスユーザーと技術者にも与えます。

この目的のために、Object Studioにはアプリケーションモデラーが導入されています。アプリケーションモデラーを使用すると、Blue Prismと対象アプリケーションを並べて実行できます。また、Object Studioに、対象アプリケーションの機能をポイントやクリックで学習させることもできます。

教育プロセス - 新しいアプリケーション要素を作成する

ユーザーインターフェイス要素を表す新しい要素をアプリケーションモデルに追加するには、アプリケーションモデラーを開いて[要素を追加]をクリックします。これにより、Object Studioを対象アプリケーションの新機能に導入します。このような機能はアプリケーション要素と呼ばれます。たとえば、対象アプリケーションのメインウィンドウに[OK]ボタンを導入する場合を想定します。

次に、新しいアプリケーション要素に分かりやすい名前を付ける必要があります。これは任意の名前にできますが、「メインウィンドウOKボタン」という名前が最も適しているかもしれません。

次のステップでは[スパイの詳細]ボタンをクリックします。これを行った後、対象アプリケーションで導入したアプリケーション要素をアプリケーションモデラーに表示できます。基本的に、これは対象アプリケーションの表示(このステージですでに実行されています)、目的のボタンへの移動、そのボタンのクリックで構成されます。

ほとんどの場合、Blue Prismは、スパイツールを使用して識別したアプリケーション要素がボタンであることを検出できます。このような場合は、[要素タイプ]というラベルの付いたコンボボックスに[ボタン]オプションが表示されます。まれに、Blue Prismがこの事実を自動的に検出できなかった場合は、ドロップダウンリストから最も適切なオプションを選択して入力する必要があります。

場合によっては、特定したアプリケーション要素にデータ型を関連付けることができます。ボタンの場合、これは適切ではありません。ただし、数値や日付を表すデータフィールドの場合は、ドロップダウンリストから対応するデータ型を選択できます。これにより、Object Studioはフィールド上でインテリジェントなデータ処理を実行できるため、ユーザーが手動で処理する手間が省けます。

データを調整する - 属性

このステージでは、目的のアプリケーション要素を特定すると、Object Studioでそのアプリケーション要素に関する多くの内部情報が収集されます。この情報の一部は[詳細]リストに表示されます。例としては、ボタン上のテキスト(目的のアプリケーション要素が実際にボタンである場合)、アプリケーション要素の場所、属するウィンドウなどがあります。この情報は1行ごとに表示され、各行には情報の一部が表示されます。このような情報の単位は、アプリケーション要素の属性と呼ばれます。

キャプチャされた属性は、後で同じアプリケーション要素を識別するために、具体的には対象アプリケーションでビジネスオブジェクトを実行するときに、Object Studioで使用されます。これにより、Object Studioは、後のステージでアプリケーション要素を容易に識別できるようになります。

たとえば、ボタンが[OK]というテキストを持つことをObject Studioが確認した場合、対象アプリケーションの情報が豊富であれば、状況によって同じボタンが[保存]というテキストを持つ場合があることを認識します。ボタンは常に[OK]というテキストを持つとObject Studioが誤解しないようにするには、テキスト要素の横にある[使用中]ボックスをオフにます。そうすることで、Object Studioはボタンのテキストを無視し、アプリケーション要素を識別する手段として、他の属性を代わりに使用するようになります。この意味で、ボタンのテキストは[使用中]ではなくなります。

さらなる改良 - 属性のマッチタイプ

Object Studioは、一部の属性が状況に応じて変化することを認識していますが、多くの場合は明確なパターンで変化します。たとえば、ワードプロセッシングパッケージのウィンドウタイトルが「My Word Processor - Document 1」の場合、「Document 1」は現在編集されているドキュメントの名前を示します。タイトルの「My Word Processor」部分は常に固定なため、ウィンドウを識別する際に役立ちます。

このため、属性は固定値に対してではなく式に対してマッチする必要があります。式はマッチタイプで決まります。利用可能なマッチタイプは次のとおりです。

  • Equal - 指定された値と正確にマッチします。
  • Not Equal - 指定された値以外の場合にのみマッチします。
  • Less than - 指定された値より小さい場合にマッチします。
  • Greater than - 指定された値より大きい場合にマッチします。
  • Less than or Equal - 指定された値以下の場合にマッチします。
  • Greater than or Equal - 指定された値以上の場合にマッチします。
  • Wildcard - ワイルドカード式に対するマッチングでは、*はゼロ文字以上の任意の文字列、?は任意の1文字、#は任意の1つの数字を表します。
  • Reg Ex - 正規表現とマッチします。
  • Range - 特定の値の範囲内に含まれる場合にマッチします。値の構文はX..Yの形式でなければなりません。下限(X)と上限(Y)の値は2つのドットで区切られます。
  • Dynamic - 実行時の読み取り、書き込み、操作、待機の各ステージ内の式にマッチします。

属性値のデータ型に応じて、さまざまなマッチタイプを使用できます。たとえば、[ワイルドカード]と[正規表現]はテキストベースの属性に使用できますが、[より大きい]と[未満]は数値ベースの属性に使用できます。特別な動的マッチタイプも使用できます。動的とは、ビジネスオブジェクトの設計時に、属性に特定の値がすぐに指定されるのではなく、ビジネスオブジェクトの実行中に値が指定されることを意味します。たとえば、ビジネスオブジェクトの実行の一部で「Tax Return 2006」というドキュメントをワープロで開く場合は、このドキュメント名をパラメーターに指定すると、属性がこれを使用できます。

属性のマッチタイプを変更するには、[マッチタイプ]列のドロップダウンボックスからマッチタイプを選択します。これにより、属性値と選択した基準がマッチングされます。[動的]を選択すると、アプリケーションモデラーの属性の値が無効になります。動的属性の設定は、要素を参照する個々の読み取り、書き込み、遷移、待機の各プロパティフォームで行うことができます。プロパティフォームでは、[...]ボタンが有効になります。これを押すと、さまざまな属性の式を入力できるようになります。

次のビデオでは、動的属性マッチタイプの使用方法を説明します。

要素マスク

アプリケーションモデル内の多くの要素で同じ属性(クラス名、ウィンドウテキスト、X、Yなど)を利用することをお勧めします。これを行うには、必要な属性を含む要素を作成し、その「要素マスク」をコピーした後、そのマスクを他の要素に貼り付けます。これにより、ソース要素で有効になっている同じ属性が対象要素でも有効になり、マッチタイプ(等しい、より大きいなど)も同じになるように設定されます。これは属性の値を構成するものではありません。[使用中]/[マッチタイプ]を構成するだけです。

属性マスクをコピーするには、ソース要素を右クリックして[要素マスクをコピー]を選択します。

要素マスクを貼り付けるには、対象要素を右クリックして[要素マスクを貼り付け]を選択します。

アプリケーションを構成する - グループ

ツリービューの下に2つのボタンがあります。1つは[要素を追加]、もう1つは[子要素を追加]というテキストが表示されます。これらのボタンの2番目のボタンをクリックすると、これまで同様、新しいアプリケーション要素が作成されますが、現在選択されている要素の下にグループ化されます。この意味で、この新しい要素は最初の要素の子と見なされます。

この機能で要素をグループ化する機能で、対象アプリケーションの構成を表すことができます。たとえば、対象アプリケーションが複数の異なる画面で構成されている場合、各画面に1つずつ、合計3つまたは4つの[OK]ボタンが必要になることがあります。ツリーの親ウィンドウの下にある各ボタンをグループ化することで、ボタンをそれぞれの親に関連付けることができます。これは、後のステージでアプリケーション要素のツリーを検索する際に役立ちます(読み取りステージのプロパティを編集するときなど)。

このようなグループ化はBlue Prismにとって重要ではなく、ビジネスオブジェクトの動作には影響しません。この機能でアプリケーション要素をグループ化するだけで、ビジネスオブジェクト内で対象アプリケーションの独自のメンタルマップを表すことができます。対象アプリケーションの実際のレイアウトやその内部動作を構成に反映させる必要はありません。

グループを編集する - 要素を削除、コピー、移動する

アプリケーションモデラーのツリービューを使用すると、アプリケーション要素を再編成できます。要素を削除する場合は、その要素を右クリックしてコンテキストメニューから適切なオプションを選択します。子要素を含む要素を削除すると、その要素のすべての子要素も削除されます。この場合、子を保持するには、最初に移動しておく必要があります。

要素を移動するには、ドラッグして新しい場所にドロップするだけです。1つの要素を別の要素の上にドロップすると、その要素は別の要素の子になります。1つの要素を他の2つの要素の間にドロップすると、その要素は2つの要素の間に配置されます。

Shiftキーを押しながらドラッグアンドドロップすると、ドラッグしたアプリケーション要素のコピーは移動する代わりに、終了位置に配置されます。

アプリケーションモデルをフィルタリングする

アプリケーションモデルのツリービューは、上部のフィルターボックスを使用して絞り込むことができます。テキストを入力すると、ツリービューがスキャンされ、指定したフィルターに一致する要素は表示されたままで、一致しない要素は非表示になります。

フィルタリングでは大文字と小文字が区別されず、要素の名前、説明、任意のアクティブな属性値にフィルターテキストが含まれている場合、その要素はフィルターと一致します。ワイルドカードや正規表現はサポートされません。

ツリーがフィルタリングされている間、ツリーは読み取り専用になります。属性の選択/値を変更することはできますが、アプリケーションモデルの構成は修正できません。

要素を見つける

要素を定義し、読み取り書き込み遷移などのObject Studioステージでそれらを使用した後は、特定の要素に対するすべての参照を検索できます。

この目的のために、検索機能ではアプリケーション要素を検索するための特別な構文を使用できます。

診断スナップショット

Blue Prismには、トラブルシューティングに役立つ診断スナップショット機能があります。詳細については、「診断スナップショット」を参照してください。