【WA0167】シナリオ内での「待機」について➁
こんにちは、NTTデータ WinActor技術支援チームです。
いつもユーザーフォーラムをご利用いただき、ありがとうございます。
******お願い******
本コラムをご覧いただいた方へ、簡単なアンケートのご協力をお願いしております。
本コラムの下部にアンケートURLを掲載しておりますので、ご回答のほどよろしくお願いいたします。
***************
今回のコラムはこんな方にオススメです☆
・複数ある待機系ライブラリについて知りたい方
・待機が必要な場面で、なんとなく「指定時間待機」を選択している方
・シナリオ作成環境と実行環境に差異がある環境でご利用の方
・シナリオ実行時の成功率が低いと感じている方
前回のコラムでは、どんなときに「待機」が必要かについて紹介しましたが、
今回は、複数ある待機系ノード・ライブラリについて紹介しようと思います♪
※前回のコラムは下記をご確認ください☆
■【WA0164】シナリオ内での「待機」について
■主に使われる待機系ノード・ライブラリ
①ウィンドウ状態待機
現在表示している、またはこれから表示されるウィンドウの状態を監視し、
指定した状態になるまで待つ、または、指定した状態かどうか確認するために使用します。
下図の通り、画面の変化について6つの項目から指定することができます!
「処理の追い越し」が発生しないようにするには、上位3つの【画面が表示されるまで】、
【画面が手前になるまで】、【画面が操作可能になるまで】のいずれかを選択することになりますが、
画面がしっかり表示され操作できる状態かを確認する【画面が操作可能になるまで】が最も適切かなと思います。
「ウィンドウ状態待機」は既にコラムがありますので、詳細は下記コラムをご参照ください。
・【WA0086】ノード「ウィンドウ状態待機」でウィンドウの状態を確認する
②画像マッチング(状態チェック)
指定ウィンドウと指定した画像がマッチするかを確認します。
マッチング画像(赤枠)で囲った部分がシナリオ実行時に画面に表示されていれば、マッチング成立です。
状態チェックの結果は【状態取得結果】で指定した変数に下記のように格納されます。
ノード「後判定繰返」等と組み合わせることで、マッチング結果(trueかfalseか)によって処理を分けることが可能です。
例:「true」⇒ 後続処理に移行、「false」⇒ 画像マッチングで指定した操作を繰り返す(リトライ処理)
③指定時間待機
指定時間または指定時刻までシナリオ実行を停止して待機します。
初期値として【指定した時間待つ】項目にチェックがついており、
待機時間として『10,000ミリ秒(10秒)』が設定されています。
うまく動作しない場面で、とりあえず待機を追加してどうなるか確認しよう!と思ったとき
既に10秒設定されているので、ポンっと追加してすぐ実行できるという手軽さがあります。
ただし、「指定時間待機」はユーザが指定した時間必ず停止するため、
ノードを追加した分シナリオの実行時間が長くなり効率が下がることが考えられます。
そのため、初期値の10秒以下でいいのか、10秒以上必要かは適宜調整してください。
基本的には、まず上記①②のノードから順番よく試してみる、というのがいいかな~と思います♪
※上記①②のノードは、プロパティ画面内でタイムアウトを設定していても、
指定した状態か確認でき次第、設定したタイムアウトを待たずに次の操作に移行します!
④エミュレーション内の[待機]
エミュレーションにて操作している箇所で処理の追い越しが発生していると考えられる場合、
エミュレーションのプロパティ画面内で[待機]を追加することも有効です。
エミュレーションは指定された操作を行うのみで、
ユーザが想定している動作が想定通りにできたかどうかは判定せず
次の操作に移行する、という特徴があります。
指定された操作後の結果(今回はページが表示されたかどうか)は確認できません。
そのため、上図のようにページのURLを検索欄に直接ペーストしてページ表示する場合や、
特定のリンクやボタンをクリックして画面遷移させるような場面で画面の表示に時間がかかる場合、
プロパティ画面内で直接[待機]を追加することで、ノード数を増やさずに対応することができます。
⑤23_ブラウザ関連>04_待機配下のライブラリ
・「状態変化待機(値)」
・「状態変化待機(要素)」
どちらも、Web ページ内の要素の状態が変化するまで待機します。
「状態変化待機(要素)」は既にコラムがありますので、下記からご確認いただけます。
・【WA0115】ライブラリ「状態変化待機(要素)」の待機条件について
「状態変化待機(値)」については、下記のような場合に有効です♪
<例>
下図のように、ボタンを押すと表示文字が変化する部分の特定の文字を取得したい!
(※表示文字が変化しても、該当箇所のXpath自体は変わらない場合)
・「読み込み完了待ち」
・「読み込み完了待ち タイムアウト付き」
タイムアウトが設定できるかどうかの違いのみで、どちらもブラウザが読み込み完了状態になるまで待機します。
「読み込み完了待ち」は、IEからのブラウザ移行を容易にするために
IE向けと同等のライブラリとしてVer7.4.0から追加されたものになります。
プロパティ画面内の設定項目はシンプルで、読み込み完了を待つかどうかを「はい」か「いいえ」で指定します。
「読み込み完了待ち」についても既にコラムがありますので、下記からご確認いただけます。
・【WA0097】23_ブラウザ関連_04_待機_「読み込み完了待ち」 で拡張機能操作のブラウザを待機する
以上が待機系ノード・ライブラリの紹介でした!
シナリオを作成して動作確認していく中で「処理の追い越し」で一度でもエラーが発生した場合は、
待機での調整が必要ですので、その際に状況に合ったものを選ぶための参考にしていただければと思います☆
【動作検証環境】
WinActor Ver.7.4.4
<お願い>
本コラムをご覧いただいた方へ、
簡単なアンケートのご協力をお願いしております。
URL:https://forms.office.com/r/qgecyfEkaA
本投稿に関しての問合せにつきましては、
恐れ入りますがコメントではなく、個別問合せにてお願いいたします。
★お問合せ方法はこちらのコラムをご参照ください
【WA0116】ユーザーフォーラムで質問を投稿するときの手順