【UiPath】REFrameworkのアップデート(2021.10)


はじめに

この投稿は、RPAツール「UiPath」の REFramework についての記事です。

UiPath Adventカレンダーの 20日目 の記事でもあります。

REFrameworkとは

REFrameworkはUiPath社が提供している、ロボット実装のフレームワーク(テンプレート)で「大規模処理のベストプラクティス」と言われ「Orchestratorを使用したキュー分散型処理」になっています。

2018年に公開された後、あまり更新がありませんでした。

そのREFrameworkですが、つい先日(2021年11月)「Studio 21.10」に付属する内容で更新されたので、その最新の機能と改善点を紹介します。

ちなみに、呼び方は「[アールイー]フレームワーク」「[リ]フレームワーク」の2派があります(どっちでも良いけど)

<ReframeWorkの更新についての情報>

更新内容は以下の通りです。

# 1)Orchestratorキューフォルダー名の指定
# 2)Process.xamlを「Framework」フォルダーに移動
# 3)強制終了時に成功ステータスになるバグの解消
# 4)最大連続再試行回数の追加
# 5)画像解像度のログ記録
# 6)ワークフローアナライザーのルールに準拠
# 7)指定アセットなしの場合、初期処理でエラー終了
# 8)TestSuite用の新しい機能追加
# 9)説明PDFの更新

順番に紹介していきます。

1)Orchestratorキューフォルダー名の指定

モダンフォルダに対応するため「Orchestratorキューのフォルダー名」を指定できるようになりました。「設定ファイル」または「Main.xamlの入力引数」として指定ができます。

2)Process.xamlを「Framework」フォルダーに移動

もともと「ルート」フォルダにあった「Process.xaml」ですが、今回の変更で「Framework」フォルダーに移動になりました。

従来のREFramework 新しいREFramework

3)強制終了時に成功ステータスになるバグの解消

プロセスが強制終了された場合に キューアイテムが「成功」ステータスに設定されてしまう問題が修正されました。
Finallyブロックから「SetTransactionStatus.xaml」の呼び出しが削除され、外側のTry Catchの例外処理の中で、例外の種類(システム例外またはビジネスルール例外)ごとに処理されます。

従来のREFramework 新しいREFramework

4)最大連続再試行回数の追加

キュー処理はエラーが起きても、設定した「最大リトライ数」の回数だけリトライされますが、処理の中には「リトライしても絶対にエラーになる」ものもあります。
その場合、何度リトライしても無駄なので「連続して何度も失敗する場合」は諦めて処理中断するように「最大​​連続再試行回数」が追加されました。

「ConsecutiveSystemExceptions」という名前のグローバル変数と「MaxConsecutiveSystemExceptions」という名前のconfigの定数値があります。

Configのブール値「ShouldMarkJobAsFaulted」をTrueに設定すると、最大連続再試行回数に達した場合、ジョブは失敗(失敗)としてマークされます。(デフォルトでは、Falseに設定されています)。

5)画像解像度のログ記録

「Init」セクションで「画面解像度」がログに記録さえれるようになりました。
本番マシンが想定していない解像度になっていて、操作対象の要素が見切れてしまうなどでエラーが起きた場合に、ログから解像度を確認することが出来ます。

6)ワークフローアナライザーのルールに準拠

ワークフローアナライザーは REFramework より後に追加された機能なので、実行するとエラーが大量に出ていましたが、ワークフローアナライザのデフォルトルールに準拠するようにプロジェクト全体が改善されました。

<従来のREFrameworkでワークフローアナライザでチェックした結果>

7)指定アセットなしの場合、初期処理でエラー終了

従来のREFrameworkは、設定ファイルのアセットシートで宣言された値が Orchestrator に登録されていない場合、初期処理の中で「警告レベル」でログメッセージが出力されていましたが、実行処理に入ると結局エラーになってしまうという悲しい状態でした。今回、その「アセットなしの処理」が修正され、初期処理の時点でエラーになり、例外をスローするようになりました。

8)TestSuite用の新しい機能追加

TestSuiteの新機能を使用する新しいテストフレームワークが追加されました。REFrameworkフォルダーには、フレームワークのワークフローに関連するいくつかのテストケースを含む「Test」というフォルダーがあります。

9)説明PDFの更新

Documentation フォルダの説明PDFが、今回の修正に合わせて更新されています。

終わりに

以上、REFrameworkのアップデート内容の紹介でした。
この記事が参考になったら、 LGTMをお願いします。閲覧ありがとうございました。