Guarded Choice(ガードチョイス)の特徴

フォローする

Guarded Choiceステップは、主にステップを実行する際の条件を指定するために使用します。
対象要素の存在を確認する際、エレメントツリーの生成を待機する際に使用されます。

Guarded Choiceステップには以下5種類のガードがあります。

  • When seconds have passed(特定の秒数が経過したとき)
  • Tree Stops Changing(ツリー変更停止)
  • Location Found(ロケーションが見つかった場合)
  • Location Not Found(ロケーション見つからなかった場合)
  • Location Removed(除去されたロケーション)

これらのガードは設定した条件が満たされた時に通過し、後続のステップに進みます。
また、ひとつのGuarded Choiceステップに複数のガードを設定することも出来ます。
(この場合、一番最初に条件を満たしたガードに分岐されます。)

以下、Guarded Choiceの条件や特徴となります。

  • When seconds have passed(特定の秒数が経過したとき)
    Guard1.png

指定した秒数を待機するタイムアウトガードになります。
DSのWait(待機)アクションと同様の機能になります。
使用シーンの例は、実行した処理が完了するまで待機する際や、遷移後の画面の表示が完了するまで
待機する際に使用します。
DSでは処理がバックグラウンドで実行されますが、DAはDASを経由して端末をリモート操作するため、
手動で端末を操作する時と同じようにネットワークの状況や、実行した処理の完了を考慮する必要が
あります。
そのため、適宜このガードを使用して処理が完了するまでの待機時間を設けます。Guard3.png
また、オートメーションデバイスビュー(Automation Device View)からClickステップや
Extract Valueステップを追加すると、Location Foundと共に60秒のWhen seconds have passedが
付属します。
上記は、対象要素の検出に60秒以上かかった場合、Throwステップによって例外(TimeOutError)を
発行します。

  • Tree Stops Changing(ツリー変更停止)
    Guard2.png

設定したアプリケーション内のエレメントツリーを、指定したミリ秒間、監視と待機を行う
タイムアウトガードになります。
また、指定したミリ秒間にエレメントツリーが変化した場合(動的なページやページ更新等)は
再度指定したミリ秒間待機します。
使用シーンの例は、主に遷移したアプリケーションのエレメントツリーの生成が全て完了し、
安定するまで待機する際に使用します。

遷移後の画面の表示が静的に完了するまで待機する場合に有効となります。

ロケーションガードは3種類あり、それぞれFinderに指定した要素の検出を行います。

Guard4.png

  • Location Found(ロケーションが見つかった場合)
    Finderに指定した要素をエレメントツリーから見つけた場合、条件が満たされます。

  • Location Not Found(ロケーション見つからなかった場合)
    Finderに指定した要素がエレメントツリーから見つからなかった場合、条件を満たします。

  • Location Removed(除去されたロケーション)
    Finderに指定した要素がエレメントツリーから除去された(消えた)場合、条件が満たされます。

エレメントツリーを生成しながら、対象要素の検出を行っているため、
画面遷移/操作が出来ない状態でも、生成が完了したと見なして待機を解除してしまいます。
上記の対策として、後続のステップに「Tree Stops Changing」や「When seconds have passed」を
設定して、エレメントツリーの生成が静的に完了した後、又は任意のタイミングで待機を解除するようにします。

また、以下のようなGuarded Choiceステップにおいて、
「When seconds have passed」を設定していない場合は、条件を満たすまで、
無制限に待機してしまう可能性があります。

例えば、Tree Stops Changing(ツリー変更停止)であれば、定期的にWebサイトが更新される場合で
且つ、待機時間が更新期間より長い場合に
エレメントツリー生成が静的に完了したという条件を
満たせないため無制限に待機する可能性があります。

Location Found(ロケーションが見つかった場合)であれば、該当するエレメントツリーが
見つからなければ条件を満たすことが出来ないため、
無制限に待機する可能性があります。


以下ナレッジでは、Guarded Choiceステップの内部挙動を解説しています。
Guarded Choice(ガードチョイス)の内部挙動解説

7人中7人がこの記事が役に立ったと言っています

コメント

0件のコメント

記事コメントは受け付けていません。