2008-11-06 95 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”