2008-11-06 128 views
1

我們嘗試使用QTP(QuickTest Professional)來自動測試傳統的C++應用程序。幫助QTP識別控件

但是,該應用程序的主窗口由幾個IDENTICAL面板組成。每個面板都有一個獨特的標題。

如果我在間諜查看窗口++(自帶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的對象間諜然而,層次結構顯示爲:

+ Window: Window Title 
    + WinButton: OK 

它甚至不表明有一箇中間面板。

有沒有人知道一種方法來獲得窗口「路徑」,以確定每個控件? 即所以控制標識爲:

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

回答

1

你可以使用描述性編程繞過對象映射。 QTP默認會忽略面板對象。您可以嘗試動態獲取對面板對象的引用,然後搜索ChildObjects集合以找到OK按鈕。另一種選擇可能是簡單地向ok按鈕添加序號標識符。

  • 按鈕: 「窗口標題/ OK索引#1」
  • 按鈕B: 「窗口標題/ OK索引#2」