はじめに
こんにちは。ティーマネジメントのシステム担当ムギです。
今回はWinActor®のノード、「ウィンドウ状態待機」についてご紹介いたします。
画面を起動したり閉じたりといった動作をおこなうシナリオでは
エラー回避などにも役立つかと思いますので、どうぞお付き合いください。
ノード「ウィンドウ状態待機」とは?
WinActor®のノード「ウィンドウ状態待機」はウィンドウの状態を判定し、
指定した状態になるまでシナリオを一時停止することができます。
シナリオ内へは画面右側の[ノード]タブ>[アクション]>[ウィンドウ状態待機]を選択して
ドラッグ&ドロップで挿入します。
「ウィンドウ状態待機」のプロパティ
「ウィンドウ状態待機」ノードでは以下のプロパティが設定できます。
【プロパティ内容】
・取得結果:指定した変数にウィンドウ状態待機の結果(true または false)を格納
・ウィンドウ識別名:判定したいウィンドウを指定
右側のターゲット選択ボタンで直接選択 または リストから選択
※リストからの選択は「ウィンドウ識別ルール」の内容に基づく(今回は割愛)
・画面の変化(1段目):対象のウィンドウがどのように変化することを判定するのかを設定
6種類から指定可能 ※後述
・画面の変化(2段目):待機種別を「状態取得のみ」または「一定時間待つ」で指定
・タイムアウト:「一定時間待つ」を選択した場合のタイムアウト時間を設定
ミリ秒単位で指定し、0~3,600,000ミリ秒(1時間)まで指定可能
※「状態取得のみ」を指定した場合はタイムアウトの値は無効になります。
「画面の変化」設定の種類
「ウィンドウ状態待機」で返ってくる結果や判定のタイミングは、「画面の変化」設定によって異なります。
画面の状態(2段目):待機種別
まず、「画面の変化(2段目)」の待機種別の指定では以下の違いがあります。
【画面の変化(2段目)の待機種別】
■一定時間待つ
・ウィンドウが「画面の変化(1段目)」で指定した状態になるまでシナリオを一時停止
・最大停止時間は「タイムアウト」で指定した時間
●判定タイミング:「タイムアウト」の時間中
・true:「タイムアウト」の時間内にウィンドウが「画面の変化(1段目)」で指定した状態になった場合
・false:「タイムアウト」の時間内にウィンドウが「画面の変化(1段目)」で指定した状態にならなかった場合
■状態取得のみ
・作動したときにウィンドウが「画面の変化(1段目)」で指定した状態になっているかを判定
●判定タイミング:作動即時
・true:作動したときにウィンドウが「画面の変化(1段目)」で指定した状態である場合
・false:作動したときにウィンドウが「画面の変化(1段目)」で指定した状態でない場合
「一定時間待つ」は操作したいウィンドウやエラーダイアログなどの表示までに
時間がかかる場合に使用するイメージです。
例えば、ブラウザを立ち上げて目的のサイトが開いたことを確認したい場合などです。
「状態取得のみ」は作動時点で対象のウィンドウが指定の状態か判定しますので、
シナリオ実行時にこれから動作させたいウィンドウが既に開いているかどうかを判定して処理を進める、
といったときに使用できます。
画面の状態の指定(1段目):ウィンドウ状態
「画面の変化(1段目)」のウィンドウ状態の指定では、6種類の内容が指定できます。
内容と結果の内訳については以下の表を参照してください。
【画面の変化(1段目)のウィンドウ状態】
どのような判定基準でウィンドウの操作可否などを取得しているかにつきましては
ユーザーフォーラムにまとめてくださっている投稿がございますのであわせてご参照ください。
実際に使ってみる
試しに使用してみましょう。
今回は、指定のサイトを表示したWebブラウザが表示されるまで待つ設定をおこないます。
以下の条件をプロパティに指定します。
【設定条件】
・取得結果:変数「結果」に保存
・ウィンドウ識別名:ティーマネジメント株式会社(ティーマネジメント株式会社のホームページ)
・画面の変化(1段目):画面が表示されるまで
・画面の変化(2段目):一定時間待つ
・タイムアウト:30,000ミリ秒(30秒)
※1,000ミリ秒=1秒
そして、待機ボックスで結果を表示するように設定します。
実行してみると、指定したWebサイトがタイムアウトの30秒以内に表示されていない場合は
結果に「False」が返ってきていることが確認できます。
30秒内にWebブラウザで指定のサイトを開くことができた場合は結果に「true」が返ってきています。
対象のウィンドウが表示されているかの判定が正常におこなえました!
さいごに
いかがでしたでしょうか。
今回はWinActor® の「ウィンドウ状態待機」についてご紹介いたしました。
動作させたいブラウザが表示されていないまま処理が進む、
表示させたい画面が既に開いている場合に2重で開いてしまうことを防ぐなど、
エラーの回避につなげることができるかと思います。
設定内容によって判定タイミングなども異なりますので、
シナリオや希望の動作にあわせて調整してみてください。
Comments