特定のシステムやWebサイトへログインするロボットを作る際、ログイン成功/失敗の判定が必要になる場合がある。
大体は「要素の有無を検出」などを使い、エラーメッセージの有無などを判定するが、このアクティビティは、タイムアウトに指定した時間が経過した後でないと、要素が無いと判定しない。
(逆に、要素がある場合は、即座に「有り」と判定する。つまりタイムアウトいっぱいまで要素を探し続けるイメージ)
これでは「無い」と判断する場合に時間がかかってしまうので、ログインに成功/失敗のどちらかが分かった時点で判定できるようにしたい。
以下がそのサンプル。
基本的な流れは以下の通り:
- 要素の有無の判定を、短いタイムアウト(0.5~1秒)で実行する。
- Webページなどの表示時間を考慮し、別途タイムアウトを設定する(サンプルでは10秒)。
- 別途用意したタイムアウトの時間が経過するまで、要素の有無の判定を繰り返す。
これで、ログインが成功したにせよ、失敗したにせよ、即座に判定して次の処理へ移れる。