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 集合以找到确定按钮。另一种选择可能是简单地将序号标识符添加到确定按钮。

  • 按钮 A:“窗口标题/确定索引 #1”
  • 按钮 B:“窗口标题/确定索引 #2”
于 2008-11-07T17:05:34.570 回答