画面に表示するデータ量がアクセスのタイミングによって変動するなど、
画面読込時間が一定でない場合、タイムアウトの時間を一定にしていると
- (データ量が少ないの場合)Waitの時間が長くて処理が遅くなる
- (データ量が多い場合)Waitの時間が足りなくて例外になる
などの事象が起こりえます。
そのため、変動する画面読込の時間に合わせて正常に処理が進み、
かつ、パフォーマンスを下げない実装をするのがベストです。
今回はそのような実装の方法について解説します。
方法
リトライ処理を実装します。
- 画面の特定の要素が表示されるまでWait
- タイムアウトの場合、リトライ回数が上限(今回は10)に達しているかチェック
- (上限未達の場合)リトライカウントを+1
- Wait後、再度①から実行
の流れを実装することで、個別リトライを実現しています。
タイムアウトの秒数やリトライ上限回数は、オブジェクトのInitialiseページに
変数として置いておくと良いでしょう。
「プロセス内の他ページから隠蔽する」チェックを外すことを忘れずに。