LoginSignup
11
5

More than 1 year has passed since last update.

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

Last updated at Posted at 2021-12-20

はじめに

この投稿は、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の入力引数」として指定ができます。
image.png

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

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

従来のREFramework 新しいREFramework
1.png 2.png

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

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

従来のREFramework 新しいREFramework
image.png image.png

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

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

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

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

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

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

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

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

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

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

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

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

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

9)説明PDFの更新

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

終わりに

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

11
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
5