【BluePrism】画面読込時間が一定でない場合の画面遷移実装について


概要

画面に表示するデータ量がアクセスのタイミングによって変動するなど、

画面読込時間が一定でない場合、タイムアウトの時間を一定にしていると


  • (データ量が少ないの場合)Waitの時間が長くて処理が遅くなる

  • (データ量が多い場合)Waitの時間が足りなくて例外になる

などの事象が起こりえます。

そのため、変動する画面読込の時間に合わせて正常に処理が進み、

かつ、パフォーマンスを下げない実装をするのがベストです。

今回はそのような実装の方法について解説します。アイデアの一つとして参考にしてみてください。


方法

リトライ処理を実装します。(僕は「個別リトライ」と呼んでいます)

① 画面の特定の要素が表示されるまでWait

② タイムアウトの場合、リトライ回数が上限(今回は10)に達しているかチェック

③ (上限未達の場合)リトライカウントを+1

④ Wait後、再度①から実行

の流れを実装することで、個別リトライを実現しています。

image.png

タイムアウトの秒数やリトライ上限回数は、オブジェクトのInitialiseページに

変数として置いておくと良いでしょう。

「プロセス内の他ページから隠蔽する」チェックを外すことを忘れずに。

image.png

image.png