UiPathには、オブジェクトリポジトリ機能があります。
StudioXを起動するとパネルがあるので、存在だけは知っているという人も多いのではないでしょうか。
オブジェクトリポジトリの利用方法については、UiPathの公式ガイドでも解説されています。
ですが、そもそもStudioXのガイド内にオブジェクトリポジトリのライブラリを作成する方法については記載されていません。
これが分からないと、使いようがありませんよね。
そこで、StudioXユーザーがオブジェクトリポジトリを使えるようにするため、ライブラリを作成する流れをまとめました。
この記事では、
オブジェクトリポジトリの使いどころを教えて。
オブジェクトリポジトリライブラリの作り方を教えて。
こちらにお答えしていきます。
もくじ
オブジェクトリポジトリとは
オブジェクトリポジトリとは
アプリケーションやWebサイトの画面には、たくさんのUI要素が集まって組み立てられています。
UI要素とは、チェックボックスやボタン、テキストボックスなどの部品を指します。
アプリケーションにあるたくさんのUI要素をひとまとまりにしたものが、「オブジェクトリポジトリ」です。
公式サイトでは、オブジェクトリポジトリの機能を以下のように説明されていますね。
オブジェクトリポジトリの主な機能
- プロジェクト全体の UI 要素を 1 か所に集約できます。
- [オブジェクト リポジトリ] パネルの [UI アクティビティ] タブを使用して、プロセス内のすべての UI アクティビティのリストを表示できます。
- [オブジェクト リポジトリ] パネルから要素をドラッグ アンド ドロップできます。
- ライブラリからインポートしたオブジェクトを、ローカル プロジェクトまたは複数のプロジェクトで再利用できます。
例えば下図は、デモアプリ画面のUI要素を取り出して、オブジェクトリポジトリにまとめています。
「あらかじめアプリケーションの各UI要素を1セットにしたもの」とでも表現すればいいでしょうか。
使いどころ
オブジェクトリポジトリでUI要素をまとめると、どんなメリットがあるのでしょうか。
サンプルに、デモアプリを使ってシチュエーションを考えてみましょう。
このアプリでは、交通費精算など、様々な経理の手続きができるようです。
メニューを見ると、経費の登録申請、申請取消、修正などの処理が可能です。
では、経理処理のうち、「登録申請」をStudioXで自動化したとしましょう。
「登録申請」では、以下のようなワークフローになりました。
ちなみに、処理の流れはテキトーに想像で作ったものです。
- 経理アプリを開く。
- [その他設定]をクリック。
- [登録・同時申請]をクリック。
- その他必要な項目を入力
- [実行]をクリック
ワークフローを作成する際、アクティビティを追加してから、[その他設定]や[登録・同時申請]、[実行]などを画面から指定しますよね。
例えば「その他設定」をチェックONにする場合、[チェック/チェック解除]アクションを追加したら、UI要素を画面から指定します。
この点に注目してください。
今度は、「申請取消」を自動化するプロジェクトを作成しました。流れは以下の通り。
- 経理アプリを開く。
- [その他設定]をクリック。
- [申請取消]をクリック。
- その他必要な項目を入力
- [実行]をクリック
同様に、ワークフローを作成する際には、[その他設定]や[申請取消]、[実行]などを画面から指定していきます。
そしてさらに、「申請内容の修正」を自動化する場合、おそらく同じように、[その他設定]や[実行]などを画面から指定する必要があります。
同じアプリケーションにもかかわらず、プロジェクトが変われば毎回UI要素を画面から指定することになります。
同じUI要素であれば毎回画面から指定するのは手間ですし、10回以上同じUI要素を指定する場合になるとなおのことですよね。
ここで出番になるのが、オブジェクトリポジトリです。
オブジェクトリポジトリが用意されていると、[オブジェクトリポジトリ]パネルから、対象の要素をドラッグして微調整するだけで済みます。
予めUI要素を用意した中から選択するだけなので、作業効率に差が出るのは容易にイメージできるのではないでしょうか。
オブジェクトリポジトリライブラリを作成する
使いどころが分かったところで、オブジェクトリポジトリライブラリを作成しましょう。
ただライブラリは、StudioXで作成することができません。
だから、公式ガイドに説明がないのかもしれませんね。
つまり、オブジェクトリポジトリライブラリを作成するには、プロファイルを一時的にStudiに切り替える必要があります。
UiPath Studioへ切り替える
Studioへ切り替える手順は以下のとおり。
パッケージのローカルフォルダを確認する
オブジェクトリポジトリを作成する前に、ライブラリが格納されているフォルダを確認しておきます。
Studioを開き、[設定]-[パッケージソースを管理]-[既定のパッケージソース]の、[ローカル]のパスを確認してください。
僕の場合は、「C:¥Users¥・・・¥NugetFallBackFolder」でした。

ライブラリを新規作成
オブジェクトリポジトリは、ライブラリのひとつであるため、プロジェクトの種類は「ライブラリ」になります。
まずは、ライブラリを新規作成しましょう。
使用するUI要素を取得
ここからは、[オブジェクトリポジトリ]パネルを操作していきます。
まずは、UI要素を取得するアプリケーションを開いておきましょう。
今回は、ChromeでGoogleのトップページを開き、配置されている各要素を取得します。
[要素をキャプチャ]ボタンをクリックし、[要素をキャプチャ]画面を表示します。
それでは、この中から、検索バーと、検索ボタン(虫眼鏡)の2つを要素として取得しましょう。
まず、取得する対象のアプリ/Webサイト(Google Chrome)を選択します。
続けて、検索バー、検索ボタンを選択します。
[オブジェクトリポジトリ]パネルを見ると、追加した要素がツリーで反映されています。
これで編集が完了しました。
あとは、ライブラリとして使えるようパブリッシュします。
ライブラリをパブリッシュ
パブリッシュの方法は、通常のプロジェクトのパブリッシュと大きく違いはありません。
ただ、パブリッシュ先がカスタム(PC内)しか指定できないため、その部分が注意点となります。
[パブリッシュのオプション]の項目では、[パブリッシュ先]を「カスタム」に変更します。
続く[カスタムURL]ですが、パッケージのローカルフォルダを確認するで確認したパスと同じであることを確認してください。
パスが異なる場合は、変更しましょう。
最後に、[パブリッシュ]をクリックしたら作成完了です。
(補足)一括でUI要素を取得するには
上記手順では、必要なUI要素のみを指定しました。
もし、画面上にある要素すべてを登録したい場合は、APIキーを設定することで可能になります。
UiPath Orchestratorを開く
APIキーはUiPath Orchestratorに記載されています。
UiPath Orchestratorを開く方法はいくつかありますが、今回は[データマネージャー]パネルから開くことにしましょう。
[データマネージャー]パネルの[プロセス]を右クリックし、[すべてのプロセスを表示]を選択すると開きます。
APIキーを取得
APIは、[管理]メニュー記載されています。
メニューの[管理]をクリック後、[ライセンス]を選択してください。
続いて、[ロボットとサービス]の[Computer Vision]にあるAPIキーをコピーしましょう。
APIキーは、アイコンをクリックすればコピーされます。
ここまでで、UiPath Orchestratorの作業は終了です。
APIキーを登録
Studioに戻り、取得したAPIキーを貼りつけます。
[プロジェクト]パネルの[プロジェクト設定]をクリックします。
[Computer Vision]-[ApiKey]-[実行環境の値]に、コピーしたAPIキーを貼りつけ、[OK]をクリックしたら準備完了。
[すべての要素をキャプチャ]を実行
APIキーの登録が完了したら、対象のアプリ/Webサイトをキャプチャします。
[オプジェクトリポジトリ]パネルの[要素をキャプチャ]をクリックしたら、[すべての要素をキャプチャ]をクリックしてください。
ターゲットとなる画面をクリックします。
検出されたUI要素が、緑枠で表示されました。
点線の緑枠と実線の緑枠がありますね。
点線の緑枠は、検出されたUI要素のうちキャプチャで取り込まない対象です。
実線の緑枠は、検出されたUI要素のうちキャプチャで取り込む対象です。
対象をクリックすれば、取り込む/取り込まないが切り替わるので、必要に応じて調整しましょう。
調整したら、[キャプチャ]ボタンクリック後、[OK]ボタンをクリックします。
一括でキャプチャされました。
キャプチャされた直後の要素名は、判別しにくい名称のままですので、適宜編集してください。
そして、[ライブラリを保存]ボタンをクリックします。
[オブジェクトリポジトリ]パネルにキャプチャした要素が反映されました。
最後にパブリッシュして完成です。
UiPath StudioXへ戻る
ライブラリを作成したら、プロファイルをStudioXに戻しましょう。
まとめ
これで、オブジェクトリポジトリを使う準備が整いました。
まとめます。
まとめ
- オブジェクトリポジトリは画面のUI要素をひとつにまとめる機能。
- オブジェクトリポジトリライブラリはStudioで作成可能。
- 一括でUI要素をキャプチャする際にはAPIキーの設定が必要。
この記事で、何か1つでも新しい発見が得られたのなら、僕もうれしいです。