【WA0049】エラー原因を調査するのに役立つライブラリ_その2(ウィンドウ識別)
こんにちは、NTTデータ WinActor技術支援チームです。
いつもユーザーフォーラムをご利用いただき、ありがとうございます。
エラーが発生した時、どのような情報を取得したり確認すれば良いか困りませんか。
WinActorの同梱ライブラリには、エラー時の情報取得を行うのに有用なライブラリが準備されています。
今回は、そのライブラリについてご案内したいと思います。
エラーが発出されにくいシナリオの作成や、エラーが発出された時の原因調査にご活用ください。
ご紹介するライブラリは、ライブラリ/01_WinActor制御/07_デバッグ にございます。
今回はその中の「デバッグ:ウィンドウ識別」「デバッグ:ウィンドウ識別保存」についてご紹介させていただきます。
ライブラリ/01_WinActor制御/07_デバッグ 「デバッグ:ウィンドウ識別」
「デバッグ:ウィンドウ識別」は、登録しているウィンドウ識別ルールに該当するウィンドウの状況を画面で確認することができます。
※この画面はシナリオを終了した後も表示されたままになります。画面を終了する時は、右上の×にて終了させてください。
《画面イメージ》
①Name:登録しているウィンドウ識別名
②Hwnd:登録しているウィンドウ識別名に合致するウィンドウのウィンドウハンドル
③Current:操作対象となっている画面(操作対象の場合はYesと表示される)
では、上記情報をどのように活用すればいいかといいますと、
ウィンドウ識別ルールに登録されているウィンドウ識別名に該当する画面が表示されているかどうか、
該当する画面が複数ある場合、どの画面を操作対象としているかを確認することができます。
画面イメージを確認すると、
登録しているウィンドウ識別名に対する画面が、デスクトップ上に全て表示されていることがわかります。(※Hwndで確認)
そして、ウィンドウ識別名「無題-メモ帳」に対するウィンドウは3つ表示されていますが、
その中のHwndが「d07e4」のウィンドウが操作対象となっていることもわかります。(※Currentで確認)
ウィンドウ状態を確認する画面は、シナリオ実行後(「デバッグ:ウィンドウ識別」実行後)も表示されたままになります。
例えば、シナリオの動作検証等を行っている時のエラー調査であれば、
一度この画面を表示させておけば、気になるタイミングで画面下の「update state」ボタンをクリックすることで、
クリックした時点での画面状態に情報を更新することができます。
「get state」ボタンと「update state」ボタンの違いですが、マニュアルには以下の説明がされています。
「get state」ボタン:現在のメモリの状態を表示します。
「update state」ボタン:実際の画面に合わせて状態を更新します。
もう少し詳しく説明しますと、
「get state」ボタンは、WinActorが(メモリに)キャッシュしているウィンドウ一覧に基づいて表示を行っており、
「update state」ボタンは、WinActorのウィンドウ一覧の再収集(「ウィンドウ識別クリア」と同じ)をしてから、
最新のウィンドウ一覧に基づいた表示を行っています。
このことから、「get state」ボタンと「update state」ボタンで表示される内容は、一致しない場合もございます。
ウィンドウ状態を確認する画面で、どの情報がどのウィンドウを指しているのかを確認したい時は、
highlight ボタンをクリックすることで、対象ウィンドウが枠で囲まれた状態になり、画面を特定することができます。
ライブラリ/01_WinActor制御/07_デバッグ 「デバッグ:ウィンドウ識別保存」
「デバッグ:ウィンドウ識別」は、ウィンドウ識別を確認する画面が表示されますが、
エラー時のウィンドウ状態を毎回画面確認して行うのはあまり有効ではありません。
その時にご利用いただきたいのが、「デバッグ:ウィンドウ識別保存」です。
「デバッグ:ウィンドウ識別保存」は、csvやtxtファイル形式にてライブラリ実行時のウィンドウ識別を出力いたします。
《出力イメージ》
csvファイルの内容は「デバッグ:ウィンドウ識別」と同じです。
①Name:登録しているウィンドウ識別名
②Hwnd:登録しているウィンドウ識別名に合致するウィンドウのウィンドウハンドル
③Current:操作対象となっている画面(操作対象の場合はYesと表示される)
ファイルの場合、エラーの都度出力することができるので、
エラー時にファイル出力しておけば、後で確認することもできます。
出力ファイル名を同じにしなければ、上書きされることもありませんので、エラー毎に情報を出力、保存しておくこともできます。
エラー時に実行ログを確認して、原因調査するのも有効ですが、
ウィンドウ識別名を設定するノード・ライブラリの場合は、それに加えてエラー時のウィンドウ識別を取得することによって
原因特定の足掛かりとなりますので、ぜひ、ご利用ください。
エラー原因を調査するのに役立つライブラリ_その3では、
ライブラリ/01_WinActor制御/07_デバッグ 「変数値保存」を紹介しております。
【動作検証環境】
WinActor:Ver.7.3.1
OS:Windows10
<お願い>
本投稿に関しての問合せにつきましては、
恐れ入りますがコメントではなく、個別問合せにてお願いいたします。
★お問合せ方法はこちらのコラムをご参照ください
【WA0116】ユーザーフォーラムで質問を投稿するときの手順