【UiPath】バージョン「21.10」リリースまとめ（Preview Release）前編

# はじめに

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

沢山あるので、前編後編に分けて紹介します。今回は前編として「Studio系」のリリースを説明します。

:::note info
「プレビュー」ではなく「正式製品」としてのバージョン「21.10」の正式リリースは後日ありますので、別途、記事を書きます。
:::

# 公式リリース

紹介する情報は、以下の「UiPath 公式リリース」を元にしています。

https://forum.uipath.com/t/uipath-community-2021-10-preview-release/348137

2021年10月現在では「バージョン21.10」は、まだ「Preview」版なので、試してみたい場合は以下の「更新チャネル」でプレビューを選択する必要があります。
![aaa.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/b4e22fde-1fef-87e3-f4b8-c6b67c2aead6.png)


# 目次

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

```
# 1）Studio
  - 1.1）Studioリモートデバッグ
  - 1.2）デバッグ中のプロパティ書き換え
  - 1.3）GitHubアカウントでのログイン
  - 1.4）新アクティビティ：IfElseIf
  - 1.5）複数代入アクティビティ 内での並び替え
  - 1.6）メッセージボックス アクティビティの表示タイムアウト

# 2）StudioX
  - 2.1）オブジェクトリポジトリが使用可能に
  - 2.2）UiAutomation系ActivityがExcel/パワポのスコープ内で使用可能に

# 3）AutomationCloud
  - 3.1）AutomationOpsで使用可能なGitリポジトリURLを制限
  - 3.2）AutomationOpsでMailActivityで送信可能なメアドを制限できる
  - 3.3）AutomationOpsで実行アプリ・アクセスURLの禁止ルールを設定可能に

# 4）UiAutomation（全般）
  - 4.1）Salesforce Lightning のUi要素認識改善
  - 4.2）要素無しエラー時の「最も近い要素」を非表示にできる

# 5）UiAutomation（モダン）
  - 5.1）新しいバックグラウンド実行モード（Ui操作可能）
  - 5.2）すべての要素をキャプチャ
  - 5.3）テキストを取得 アクティビティで抽出結果プレビュー
  - 5.4）入力モード：Chromium API の追加
  - 5.5）マウススクロール アクティビティのUx改善

# 6）UiAutomation（クラシック）
  - 6.1）ブラウザを開く アクティビティの「WebDriver自動ダウンロード」オプション
```

# 1）Studio

## 1.1）Studioリモートデバッグ

Studioでのデバッグ実行を、ローカルではなく「リモートマシン」で実行できます。
Studio及びリモートマシンは「2021.10以降」で「IP接続可能」なネットワーク上にある必要があり、リモートマシンは「UiPath.RemoteDebugging.Agent」が起動している必要があります。

```
UiPath.RemoteDebugging.Agentは、UiPathのインストールフォルダにある
「UiPath.RemoteDebugging.Agent.exe」をコマンドラインで実行すると
起動します。
（.exe の後ろに enable とすると、8573ポートが解放され、受付可能になる）
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/9d980610-74a1-7843-bd9f-06d1c9bf4296.png)


## 1.2）デバッグ中のプロパティ書き換え

デバッグ実行中に「アクティビティのプロパティ」に設定した値を書き換えることができるようになりました。変数の書き換えと同じように「ローカルパネル」で編集できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/656f952a-5b05-24ef-d4e5-8c43439044cf.png)


## 1.3）GitHubアカウントでのログイン
githubでコード管理していて github側に[UiPath GitHub App](https://github.com/apps/uipath) を インストールしている場合は、githubからStudioを開けるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/5008f547-e844-82e9-d990-db86157b286f.png)
※ 自分で試したのですが、マシンの問題なのか、うまく動きませんでした。

## 1.4）新アクティビティ：IfElseIf

条件分岐のElseIfを定義できるアクティビティが出来ました。2番目以降の条件として、ElseIf、またはElseを指定できます。Ifアクティビティをネストで横に並べる必要が無くなり、可読性が高くなります。
コード名を見ると、IfアクティビティはWWFの機能、IfElseIfアクティビティは今回、UiPathが独自に作成したものみたいです。

|アクティビティ名 | If | IfElseIf  |
|:-:|:-:|:-:|
|日本語名| 条件分岐  | －（まだない）  |
|コード名 | System.Activities.Statements.If | UiPath.Core.Activities.IfElseIf |

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/0856bc7a-37f0-640e-cebf-5033d8958000.png)

## 1.5）複数代入アクティビティ 内での並び替え

複数代入 (Multiple Assign) アクティビティで作成した行の並びを変更／移動できるようになりました。
左側のドットマークをドラッグすると、上下に移動できます。
![uianime15.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/548dfd92-d5bc-3294-c08e-de784f550e68.gif)

https://docs.uipath.com/activities/lang-ja/docs/multiple-assign

## 1.6）メッセージボックス アクティビティの表示タイムアウト

メッセージボックスの表示のタイムアウト時間を設定できるようになりました。
時間を超過すると、メッセージボックスは自動的に閉じられます。

https://docs.uipath.com/activities/lang-ja/docs/message-box

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/5c98822c-3c5a-a109-4313-4fbfa8c27eaa.png)

# 2）StudioX

## 2.1）オブジェクトリポジトリが使用可能に

StudioXでもオブジェクトリポジトリを使用できるようになりました。
Ui要素を保存し、再利用できるようになります。

:::note info
オブジェクトリポジトリを使用するには、UIAutomationパッケージを最新（21.10.0-Preview以上）に更新する必要があります。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/36db2663-f873-1ac6-dbc7-9cc7ccdff241.png)


## 2.2）UiAutomation系アクティビティがExcel/パワポのスコープ内で使用可能に

StudioXで「Excel ファイルを使用」アクティビティと「PowerPointを使用」アクティビティの中で「UiAutomation系」アクティビティを使用する場合、「アプリケーション/ブラウザーを使用」アクティビティで囲う必要がなくなりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/5d90b728-27eb-e613-9a16-7ae7387c075a.png)

# 3）AutomationCloud

## 3.1）AutomationOpsで使用可能なGitリポジトリURLを制限

Automation Cloud の管理メニューにある「Automation Ops」で、使用できるGitリポジトリをリストで管理できるようになります。
Automation Opsを探したのですが、見つかりませんでした。リリースノートの説明も少ないので、ひょっとしたら「まだ作成中」なのかもしれません。

## 3.2）AutomationOpsでMailActivityで送信可能なメアドを制限できる

Automation Cloud の管理メニューにある「Automation Ops」で、ロボットのポリシーを設定できるようになり「実行時にメール送信できるアドレス」を正規表現で指定できるようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/e02102b8-ddc7-ad0e-62dc-bfd61ea6cbc1.png)

:::note info
ポリシーが適用されるアクティビティの場合にチェックされます。現時点ではStudioXのメール送信アクティビティ のみ適用されるようです。
:::

## 3.3）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) アクティビティ」が対象のようです。
:::


# 4）UiAutomation（全般）

## 4.1）SalesforceLightning の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)


## 4.2）要素無しエラー時の「最も近い要素」を非表示にできる

Ui要素が見つからなかった場合に、エラーメッセージに

```
このセレクターに対応するUi要素が見つかりませんでした。見つかった最も近い一致は次の通りです・・・」
```

という内容が追記されないように、project設定画面で指定できるようになりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/5f120226-bfae-829e-1430-73f59ee670c5.png)

# 5）UiAutomation（モダン）

## 5.1）新しいバックグラウンド実行モード（Ui操作可能）

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

## 5.2）すべての要素をキャプチャ

オブジェクトリポジトリを利用して要素のキャプチャする際に「画面上のすべての要素をキャプチャ」が出来るようになりました。「とりあえず全部取得していて、後で使う」という使い方ができます。
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.3）テキストを取得 アクティビティで抽出結果プレビュー

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)

## 5.4）入力モード：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)

## 5.5）マウススクロール アクティビティのUx改善

マウススクロールアクティビティは、使用簡素化のために、いくつかの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)  |

# 6）UiAutomation（クラシック）

## 6.1）ブラウザを開く アクティビティの「WebDriver自動ダウンロード」オプション

（UiAutomationClassicのアクティビティ）
ブラウザを開く アクティビティで「AutomaticallyDownloadWebDriver」オプションをチェックすると、Webdriverが自動でダウンロードでされるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154139/6f0d36b9-2a18-fc6f-3a9b-288f1ab4fef2.png)

# 後編での紹介内容

以下の内容は後編で紹介します。

```
# 1）Assistant
  - 1.1）StoreWidget(StoreアプリInstall)
  - 1.2）AutomationHubへのアイデア提出
  - 1.3）TaskCaptureが起動可能に
  - 1.4）Publish時に指定したiconを一覧表示
  - 1.5）マケプレのアプリUpdateボタン追加

# 2）TestSuite
  - 2.1）TaskCaputureからtestcaseをダウンロードできる
  - 2.2）UX改善

# 3）ComputerVision
  - 3.1）AutomationCloudにログインしていればAPIキーが不要に
  - 3.2）テーブルの認識向上

# 4）SAP Automation
  - 4.1）TransactionとProgramの変更検知トリガーの追加
  - 4.2）ALVツリーリストの認識改善
  - 4.3）SAP Business ClientのChromiumサポート

# 5）Task Capture
  - 5.1）同一アクションの検出とマージ
  - 5.2）ワード出力時にテンプレートを指定可能に
```


# 終わりに

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

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