c++ - 帮助获取QTP来识别控件

标签 c++ qtp hwnd

我们正在尝试使用 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/

相关文章:

testing - 将 QTP 测试与 TFS 2010 集成

excel - 在 vbscript 中创建 Excel 文件会生成损坏的文件

c++ - 删除 HWND 对象

c++ - 使用单应性绕x/y轴旋转

c++ - 将 CppAD 适配到 Visual Studio IDE

syntax - QTP/VBScript 构造函数调用语法

java - 在 JPanel 中嵌入 HWND(窗口句柄)

c++ - WinAPI - 如何组织大量的 HWND 对象?

c++ - enum 和 enum class 的区别?

C++ 在 int 变量中存储 double 错误