4

こんにちは、NTTデータ WinActor技術支援チームです。
いつもユーザーフォーラムをご利用いただき、ありがとうございます。

WinActorの機能の一つに「監視ルール」がございます。
「監視ルール」とは、シナリオ実行中に特定の画面が表示された場合の動作を決めておくことができます。
例えば、シナリオ実行中のどこかで、ダイアログ等の特定のウィンドウが表示されることにより、
シナリオの操作が正常に動作しなくなってしまう場合、
特定のウィンドウが表示された時の対処を「監視ルール」として登録しておくことで、
シナリオを円滑に実行することができるようになります。
 
ここでは「監視ルール」の仕様及び注意事項等をご紹介したいと思います。
 
 
■監視ルールの発動タイミング
 
 監視ルールは、ノードの操作が終わり次のノードの操作に入る時に、
 現在表示されているウィンドウの中に監視ルールに登録されているウィンドウがないかを判定し、
 監視ルールに登録されているウィンドウが存在する時は、同じく監視ルールに登録されている
 そのウィンドウに対しての操作を行います。
 
《操作イメージ》
 
 
 
 実行ログでは、以下のように確認することができます。(※①~④は、《操作イメージ》の①~④に当たります。)
 
 
 
■監視ルールとシナリオ実行速度の関係性について_その1
 
 上記、実行ログのキャプチャを見て、お気づきでしょうか。
 監視ルールは、シナリオの実行とともに開始し、シナリオの終了とともに終了いたします。
 上記イメージでは、処理ノード数は3つ、監視ルールは1つなので、
 処理1の実行後に監視ルールの判定、処理2の実行後に監視ルールの判定が行われます。(計2回)
 処理1の実行後に表示されているウィンドウが3つあるとします。
 その場合、上記操作イメージでは、処理1の実行後、表示されている3つのウィンドウに対して、
 監視ルールに登録されているウィンドウがないかを判定していきます。
  
《操作イメージ》
 
 
 
 ここで注意していただきたいのですが、表示されているウィンドウの数が多く、また監視ルールが多く登録されている場合、
 ノードの実行後毎に、監視ルールの判定が入りますので、判定の時間がかかり、シナリオの実行速度に影響を及ぼします。
 
 監視ルールは便利な機能ですが、上記仕様から、適切な数を登録していただかないと、
 処理よりも判定に時間がかかり、シナリオ実行が遅延する場合がございます。
 
 ダイアログ等のウィンドウが表示される箇所が決まっている場合は、
 監視ルールで処理を設定するのではなく、
 ノード/アクション「ウィンドウ状態待機」(画面が表示されるまで)や「画像マッチング」(状態チェック)を使用して、
 ウィンドウの有無を確認し、その結果で処理を分岐する方が実行速度に影響を及ぼしにくいです。
 
《操作イメージ》
 ※処理1の後に特定のウィンドウが表示される場合がある時
 
 
 
 ウィンドウ状態待機の設定
 
 ※「一定時間待つ」を設定した場合、
  ウィンドウが表示されない時はタイムアウトの時間まで待機いたしますが、
  表示された時はタイムアウトの時間まで待機せず、次に進みます。
 ※「状態取得のみ」を設定した場合、
  ウィンドウの表示有無を確認し、次に進みます。
  タイムアウトの時間の待機はありません。
 
 分岐の条件式設定
 
 ※ウィンドウが表示された時は、True欄に進み、
  ウィンドウが表示されない時は、False欄に進みます。
 
 
 
■監視ルールとシナリオ実行速度の関係性について_その2
 
 Ver.7.3.0以降やVer.6.3.2は、Edge_IEモードに対応したバージョンです。
 IEモードに対応したバージョンでは、IEのウィンドウが表示されていると、
 IEと判定されたウインドウが従来のIEであるか、Edge IEモードであるかの判定が追加で必要となり、
 さらに時間を要することが確認されています。
 
 シナリオの実行でIEが不要であればIEをあらかじめ閉じておく、
 監視ルールの数はなるべく少なくするなどでご対応をお願いします。
 
 
■Ver.6とVer.7での監視ルールの挙動の違いについて
 
 不具合事象として、WinActor Ver.7.2.0以前では、監視ルールが2回目以降で実施されません。
 すでに、Ver.7.2.1では解消されていますが、ご注意ください。
 http://www.matchcontact.net/winactor_jp/faq.asp?faqno=JPN00436
 
 
 
【動作検証環境】Ver.7.3.0
 
 
<お願い>
 本投稿に関しての問合せにつきましては、
 恐れ入りますがコメントではなく、個別問合せにてお願いいたします。
★お問合せ方法はこちらのコラムをご参照ください
 【WA0116】ユーザーフォーラムで質問を投稿するときの手順

技術支援チーム53 質問の編集
回答とコメントは、会員登録(無料)で閲覧できるようになります。