For eachアクティビティ実行中に発生した例外処理の実装について

activities
studio

#1

いつも大変お世話になっております。
すみませんが、どなたかご教示ください。

Webシステムでの操作をレコーディング機能を用いて実装しています。

処理の流れとしましては
①画面上にあるプルダウンの中身をGet full textアクティビティを使用して取得
②取得した値をFor eachアクティビティを使用して1件ずつ読み込み、
読み込んだ値を画面上のプルダウンにセットして、その後、検索ボタンを押下
③検索結果が画面に表示されるのでダウンロードボタンを押下してダウンロードを実行
④1件目のダウンロードが完了したら、2件目に読み込んだ値をプルダウンにセットして、検索ボタンを押下
⑤検索結果が画面に表示されるのでダウンロードボタンを押下してダウンロードを実行
⑥①で取得した値がなくなるまでFor eachアクティビティで処理を行う

上記①~⑥までレコーディング機能を用いて実装済みなのですが、
稀に検索ボタン押下時に対象データが存在しないことがあり、例外処理を組み込んでいないと
そこで処理がストップしてしまいます(Exception Type:SelectorNotFoundException)。
→対象データが無い時はダウンロードボタンは非表示になっています。

Try Catchを使用して、検索時に対象データが存在しなかった場合は次の値の処理へ移るように実装したいと思っているのですが、
Catches部分とFinally部分はどの様に実装すればよろしいでしょうか?

そもそもTry Catchで実装可能かどうかも不明なもので、他に良い実装方法などがあればご教示いただけたらと思います。

よろしくお願い致します。


#2

・①画面上にあるプルダウンの中身をGet full textアクティビティを使用して取得

・読み込んだ値を画面上のプルダウンにセットして

まずこの二点でどのような動作を行っているかが不明です。
プルダウンで値を取得し、その値をプルダウンにセットしている具体的イメージを教えてください。

次にエラーですが、Exception Type:SelectorNotFoundExceptionはセレクタを見つけられていない。
要するに参照したいUI要素が見つからず、クリックすることが出来ないということです。
なので、動的に変更されるセレクタの値を安定させてみてください。

そしてTry Catchですが、Catch部分はエラーログなどの観点から必要です。
Catch部分にエラーを吐いた時点でウェブサイトを立ち上げなおし、次の処理に移行できるようなものがあると便利です。

補足ですが、データが存在するかどうかをチェックするIfアクティビティを使用して場合分けの処理を入れてみてはいかがでしょうか。