我们正在尝试使用 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"
最佳答案
您可以使用描述性编程来绕过对象映射。默认情况下,QTP 将忽略面板对象。您可以尝试动态获取对面板对象的引用,然后搜索 ChildObjects 集合以找到确定按钮。另一种选择可能是简单地向确定按钮添加序号标识符。
- 按钮 A:“窗口标题/OK 索引 #1”
- 按钮 B:“窗口标题/OK 索引 #2”
关于c++ - 帮助获取QTP来识别控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/270250/