帮助QTP识别控件
问题描述:
我们尝试使用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"
答
你可以使用描述性编程绕过对象映射。 QTP默认会忽略面板对象。您可以尝试动态获取对面板对象的引用,然后搜索ChildObjects集合以找到OK按钮。另一种选择可能是简单地向ok按钮添加序号标识符。
- 按钮: “窗口标题/ OK索引#1”
- 按钮B: “窗口标题/ OK索引#2”