1

QTP (QuickTest Professional) を使用して、レガシー C++ アプリケーションを自動テストしようとしています。

ただし、アプリのメイン ウィンドウは、いくつかの同一のパネルで構成されています。各パネルには固有のタイトルがあります。

Spy++ (DevStudio に付属) でウィンドウを表示すると、次のように表示されます。

+ Window <hwnd> "Window Title" taskwindowclass
  + Window <hwnd> "Panel A" childwindowclass
    + Window <hwnd> "OK" Button
  + Window <hwnd> "Panel B" childwindowclass
    + Window <hwnd> "OK" Button

ただし、QTP の Object Spy では、階層は次のように表示されます。

+ Window: Window Title
  + WinButton: OK

中間パネルがあることさえ示していません。

各コントロールを識別するためにウィンドウの「パス」を取得する方法を知っている人はいますか? つまり、コントロールは次のように識別します。

Button A: "Window Title/Panel A/OK"
Button B: "Window Title/Panel B/OK"
4

1 に答える 1

1

記述的プログラミングを使用して、オブジェクト マップをバイパスできます。QTP はデフォルトでパネル オブジェクトを無視します。パネル オブジェクトへの参照を動的に取得してから、ChildObjects コレクションを検索して [OK] ボタンを見つけることができます。もう 1 つのオプションは、単に序数の識別子を [ok] ボタンに追加することです。

  • ボタン A: 「ウィンドウ タイトル/OK インデックス #1」
  • ボタン B: 「ウィンドウ タイトル/OK インデックス #2」
于 2008-11-07T17:05:34.570 に答える