Windows ベース・アプリケーションの高度なテスト
UFT One には、Windows ベース・アプリケーションをより正確にテストするために高度なオプションがいくつか用意されています。
次の情報は、Win32 API および Windows メッセージ・モデルに精通している方を対象としています。「[Windows アプリケーション]>[詳細設定]表示枠([オプション]ダイアログ・ボックス>[GUI テスト]タブ)」で説明されている、いくつかのオプションに関する情報を拡張しています。
子ウィンドウを常に列挙する
UFT One がアプリケーションのオブジェクトを正しく記録しない場合、このオプションを選択して強制的にシステムのすべてのウィンドウを列挙するように UFT One を設定できます。これは、UFT One が WS_CHILD スタイルでないウィンドウを探す場合でも、最上位ウィンドウだけでなく、システムのすべてのウィンドウを列挙することを意味します。
アプリケーションに WS_CHILD スタイルではないけれども親(オーナでない)ウィンドウを持っているウィンドウがある場合には、このオプションを選択します。
オブジェクトの基本操作のみを記録する
一般に、UFT One はアプリケーションによって送信された Windows メッセージに基づいて Windows オブジェクトに対する操作を記録します。UFT One はシステムによって特定のアプリケーション・ウィンドウに送信された Windows メッセージのシーケンスを認識し、高度なアルゴリズムを使用してどの操作を記録するべきかを判断します。
まれに(非標準のメッセージ・シーケンスが使われた場合)、この高度なアルゴリズムによって不要な操作が記録されることがあります。対象イベントが発生したときにオブジェクトの基本の操作のみを記録したい場合には、このオプションを選択します。このオプションを選択した場合、操作を記録するタイミングも選択できます。[マウス ボタンの押下]を選択した場合、WM_LBUTTONDOWN メッセージが検出されると操作が記録されます。[マウス ボタンの解放]を選択した場合、WM_LBUTTONUP メッセージが検出されると操作が記録されます。
キーボード状態を検出する
UFT One がキーボードの組み合わせ(CTRL+Y または ALT+CTRL+HOME など)を正しく記録しない場合、このオプションの標準設定を変更してみます。各オプションを簡単に説明します。
-
標準 :GetKeyboardState API を使用して、キーボード状態を検出します。詳細については、http://msdn2.microsoft.com/en-us/library/ms646299.aspx を参照してください。
-
代替同期 :GetKeyState API を使用して、キーボード状態を検出します。詳細については、http://msdn2.microsoft.com/en-us/library/ms646301.aspx を参照してください。
-
代替非同期 :GetAsyncKeyState API を使用して、キーボード状態を検出します。詳細については、http://msdn2.microsoft.com/en-us/library/ms646293.aspx を参照してください。
メニューの記録モード
大半のアプリケーションでは、ユーザがメニューを開くと Windows によって WM_CONTEXTMENU メッセージ、WM_ENTERMENULOO メッセージ、WM_INITMENU メッセージ、WM_INITMENUPOPUP メッセージなどの初期化メッセージが送信されます。その後、ユーザがメニュー項目を選択すると、Windows によって WM_MENUSELECT メッセージが送信されます。
[メニューの初期化イベントを検証する]オプションを選択すると、メニュー初期化メッセージが検出された後にのみメニュー操作が記録されます。UFT One がメニュー操作を正しく記録しない場合やアプリケーションが WM_MENUSELECT メッセージを送信する前に初期化メッセージを送信しない場合には、[メニューの初期化イベントを無視する]オプションを使用してみます。このオプションを選択した場合、メニュー操作はすべて記録されます。