【UiPath】バージョン「21.10」LTSリリースまとめ - 3（UiAutomation編）

# はじめに

この投稿は、RPAツール「UiPath」で 2021年10月にリリースされた、バージョン「2021.10（LTS）」について「個人的に」 まとめたものです。

沢山あるので、5回に分けて紹介します。今回は第3回として「UiAutomation」系のリリースを説明します。

```
まとめ構成
　- 1回目：Studio
　- 2回目：StudioX
　- 3回目：UiAutomation
　- 4回目：その他
```

各記事へのリンクはこちら

https://qiita.com/miya_gis/items/160a50d91ac6d8a0eaa5

https://qiita.com/miya_gis/items/cdfede38735a6c4080e2

当記事）【UiPath】バージョン「21.10」LTSリリースまとめ - 3（UiAutomation編）

未投稿の記事）【UiPath】バージョン「21.10」LTSリリースまとめ - 2（その他編）


# 目次

今回紹介する内容は下記になります。

```
 - 1）プロジェクト作成時のデフォルトが「UiAutomationモダン」に
 - 2）複数アプリでネストした際のUI要素選択が容易に
 - 3）新しいバックグラウンド実行モード
 - 4）すべての要素をキャプチャ
 - 5）オブジェクトリポジトリで「UiAutomationモダン」のレコーダーを使用可能に
 - 6）テキストを取得で抽出結果プレビュー
 - 7）モダンデザインの「属性を取得」アクティビティ
 - 8）Excel/パワポのスコープ内でUiAutomarionの直接使用
 - 9）変数サポートの改善
 - 10）マウススクロールで特定要素まで移動を指定可
 - 11）検証実行（クリック、タイプ、ショートカット、ホバー）での画像／テキスト検知
 - 12）Excel ファイルを使用（カード） をアプリとして使用できる
 - 13）文字を入力で正しい入力方法を自動的に設定
 - 14）ブラウザ移行ツール
 - 15）ブラウザーランタイムの変更
 - 16）MsのRemoteAppをサポート
 - 17）AutomationOpsで実行アプリ・アクセスURLの許可／禁止ルール
 - 18）要素無しエラー時の「最も近い要素」非表示
 - 19）新しい入力方法：Chromium API
 - 20）ブラウザデータ設定／取得アクティビティ
 - 21）ブラウザを開く アクティビティの「WebDriver自動ダウンロード」オプション
 - 22）Salesforce Lightning のUi要素認識改善
 - 23）表データ抽出の編集が可能に
```

# 1）プロジェクト作成時のデフォルトが「UiAutomationモダン」に

新規で作成するプロジェクトは「モダンデザイン」になっています。
とはいえ、クラシックアクティビティを使用することも「クラシックデザイン」に切り替えることも可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/1355903d-97af-7776-fd98-2ce88adb42a0.png)

:::note info
Studio v2020.10またはv2021.4からアップグレードする場合、以前のバージョンの[新しいプロジェクトにモダンを使用する]設定は変更されません。
:::

AutomationHub側にも「新しいプロジェクトでモダンを使用」という設定項目があり、どうやら、こちらの設定が優先されるみたいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/093e9700-17e9-3d54-a2a8-40b568425826.png)

# 2）複数アプリでネストした際のUI要素選択が容易に（Nested Use-app cards）

複数アプリを入れ子で操作する場合に「どのアプリの操作なのか？」を意識できるようになりました。要素選択時にアプリ名が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/1371ded9-4216-910d-f9c1-d3450d8b7daa.png)

https://docs.uipath.com/activities/lang-ja/docs/n-application-card

# 3）新しいバックグラウンド実行モード（Background automation）
現在開発中でリリース時期未定ですが「UIAutomation –モダン」の機能として「新しいバックグラウンドモード」の機能として、バックグラウンドでもUI操作できるようにする　みたいです。
ただし「キーボードショートカット」や「スクリーンショット」などはフォアグラウンドに干渉するので出来ないかも？とのこと。

# 4）すべての要素をキャプチャ（Capture all elements on a screen）
オブジェクトリポジトリを利用して要素のキャプチャする際に「画面上のすべての要素をキャプチャ」が出来るようになりました。「とりあえず全部取得していて、後で使う」という使い方ができます。
UIオートメーションおよびStudioの最初のAIを利用した機能らしい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/6d7ca7a0-ab39-d046-2ac8-33a6122e4bef.png)

:::note info
Studio利用のユーザーで、AutomationCloudにログインしAPIkeyを設定しておく必要があります。
（Ui要素の全取得時のAIスキル利用のために必要みたいです）
:::

# 5）オブジェクトリポジトリで「UiAutomationモダン」のレコーダーを使用可能に
アプリ/WebレコーダーでUi要素を記録する際に、オブジェクトリリポジトリと連携できるようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/14e2ccf4-d319-8a7e-76f6-1616e1fe716a.png)
すでに登録済みの要素は「再利用しますか」ダイアログが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/821ceb00-7421-2896-673a-3d0f4ad0905a.png)

# 6）テキストを取得で抽出結果プレビュー
GetTextアクティビティは、テキスト抽出の処理方法が「自動で最適の方法を選択」出来るようになりましたが「取得結果がどうなるのか？」の確認ができませんでした。
今回のアップデートで、抽出結果を変更しながらプレビューする機能が追加され、確認しながら利用な方法を選択できます。

https://docs.uipath.com/activities/lang-ja/docs/n-get-text

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/e67c0a9b-4362-a4b3-0daa-1637703d5aa1.png)

# 7）モダンデザインの「属性を取得」アクティビティ
シンプルでわかりやすくなりました。属性は「最も使用されている属性」が上にリストアップされます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/693e8771-4342-7fcd-a00f-700cee0a8cf5.png)

# 8）Excel/パワポのスコープ内でUiAutomarionの直接使用
StudioXで「Excel ファイルを使用」アクティビティと「PowerPointを使用」アクティビティの中で「UiAutomation系」アクティビティを使用する場合、「アプリケーション/ブラウザーを使用」アクティビティで囲う必要がなくなりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/5d90b728-27eb-e613-9a16-7ae7387c075a.png)

# 9）変数サポートの改善（Nicer variable support）
セレクタ要素内で変数を選択する際に、その場で変数を作成（宣言）できますが、その際に「デフォルト値」も設定できるようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/aba20a58-56cf-8ac0-bb2c-82e42381a9cd.png)

# 10）マウススクロールで特定要素まで移動を指定可
マウススクロールアクティビティは、使用簡素化のために、いくつかのUXと操作が更新されました。（詳細は説明がありません）

| 新デザイン | 旧デザイン |
|:-:|:-:|
| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/b4e541b8-3f4c-4e3b-4bb5-bac62b740059.png) | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/a8e6c9c0-8c63-9e56-ace4-6f57533beea3.png)  |

# 11）検証実行（クリック、タイプ、ショートカット、ホバー）での画像／テキスト検知
Click、TypeInto、Hover、KeyboardShortcutsアクティビティの「実行検証」で「テキストの変化・表示の変化」を指定できるようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/7a52b53f-2f6b-63cd-5ca2-2558bcb3689a.png)

# 12）Excel ファイルを使用（カード） をアプリとして使用できる
Excel ファイルを使用 アクティビティが「アプリケーションを使用」アクティビティと同じように「カード」として機能するようになりました。
これにより「UiAutomationNext」系アクティビティだけでなく、「クリック・入力」系アクティビティや以前からある「Excel系」アクティビティも、カードの内部で使用できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/d5fa74a5-c5dc-9524-46dd-20b48411a700.png)

https://docs.uipath.com/activities/lang-ja/docs/excel-application-card

# 13）文字を入力で正しい入力方法を自動的に設定
入力の「速度・安定性」をあげるために、入力方法を考えなくても「入力モード」の横のボタンを押せば、実際の入力欄から入力方法を自動で判定してくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/0ac815cc-28ed-4c92-a36b-e47969f4e9f9.png)

:::note info
UiAutomationNextの新しいアクティビティ「UiPath.UIAutomationNext.Activities.NTypeInto」の機能です。
:::

https://docs.uipath.com/activities/lang-ja/docs/n-type-into

# 14）ブラウザ移行ツール
Ver18.4以降のStudioで作成されたプロジェクトを読み込み、指定のブラウザ用の要素に自動変換したxamlを出力するツールです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/f76a5491-870e-f7fa-1694-6b97529615c1.png)
このツールは、cloud.uipath.comの「リソースセンター」からダウンロードできます。

# 15）ブラウザーランタイムの変更
従来の「クラシックオートメーション（モダンじゃないもの）」を使用している場合、プロジェクト設定の「UIAutomationクラシック」で「ランタイムブラウザー」を変更すれば、ターゲットブラウザに切り替えることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/e9256962-35e8-3a73-9155-0cc5a0e44d8a.png)

# 16）MsのRemoteAppをサポート
UiAutomationは「RemoteRuntime」経由でRemoteAppの操作ができるようになりました。

:::note info
RemoteAppは、Windows Serverのリモート デスクトップ サービスが提供する機能の１つで、ホストで実行されるアプリケーションの画面だけを転送してクライアントのデスクトップ上に表示・操作させる、アプリケーションの仮想化を実現する機能です。
:::

https://devlog.grapecity.co.jp/support-microsoft-remoteapp/

# 17）AutomationOpsで実行アプリ・アクセスURLの許可／禁止ルール
Automation Cloud の管理メニューにある「Automation Ops」で、ロボットのポリシーを設定できるようになり、実行許可／禁止のアプリケーション・URLを指定できるようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/e02102b8-ddc7-ad0e-62dc-bfd61ea6cbc1.png)

:::note info
ポリシーが適用されるアクティビティの場合にチェックされます。「アプリケーションを開く (Open Application)」 や「アプリケーション/ブラウザーを使用 (Use Application/Browser) アクティビティ」が対象のようです。
:::

# 18）要素無しエラー時の「最も近い要素」非表示
Ui要素が見つからなかった場合に、エラーメッセージに
「このセレクターに対応するUi要素が見つかりませんでした。見つかった最も近い一致は次の通りです・・・」
という内容が追記されないように、project設定画面で指定できるようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/5f120226-bfae-829e-1430-73f59ee670c5.png)

# 19）新しい入力方法：Chromium API
Chromiumベースのブラウザ（ChromeとEdgeChromium）で互換性を高める新しい入力方法「Chromium API」が追加されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/7c401a71-39e5-37a3-14b0-68764c0a8e84.png)

# 20）ブラウザデータ設定／取得アクティビティ（Get/SetBrowserData）
ページによっては「ブラウザセッションデータ（認証クッキーなど）」が必要なものがありますが、「ブラウザデータ設定／取得」アクティビティを使って引き継げるようになります。
例えば、人がログインした後でロボットがそのセッションを引き継ぐなども可能です。
現時点ではEdgeブラウザーでのみ機能します。Chromeのサポートはまもなく提供されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/6a415b78-0a48-5501-2ea7-01e5fe0060e4.png)

# 21）ブラウザを開く の「WebDriver自動ダウンロード」オプション
（UiAutomationClassicのアクティビティ）
ブラウザを開く アクティビティで「AutomaticallyDownloadWebDriver」オプションをチェックすると、Webdriverが自動でダウンロードでされるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/6f0d36b9-2a18-fc6f-3a9b-288f1ab4fef2.png)

# 22）Salesforce Lightning のUi要素認識改善
SalesforceのLightningは、ページ更新時にフロントエンドで動的に要素が変化するため、操作が困難だったのですが、UiPath UIAutomationは「適切なUIコントロールの識別と専用アクティビティの簡単な使用法」を実装しました。Lightningフレームワークの中心にある属性に基づいて、変更に対する信頼性と回復力の高いセレクターを生成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/6909bc55-dc2b-cd07-6ea2-3e7d98e0540e.png)

# 23）表データ抽出の編集が可能に（Edit Table Extraction）

テーブル構造の表データ抽出をするさいに表示されるウィザードが、抽出後の編集時も表示出来るようになりました。画面上でデータ列の追加や変更、確認ができます。

![uianime11.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/2c32a881-780d-a64a-c796-7057e33e66d5.gif)

:::note info
UiAutomationNextの新しいアクティビティ「UiPath.UIAutomationNext.Activities.NExtractData」の機能です。
:::

※ オブジェクトリポジトリは、まだサポート対象外です。

https://docs.uipath.com/activities/lang-ja/docs/n-extract-data


# 終わりに
今回は「UiAutomation系」のアップデートを中心に紹介しました。
新バージョンの理解に少しでも役立てば幸いです。

この記事が参考になったら、 LGTMをお願いします。閲覧ありがとうございました。