2

我正在使用 QTP 9.5 测试我用 Delphi 编写的应用程序。我安装了 Delphi 插件,QTP 可以识别 Delphi 控件。大多数但不是全部,特别是 TLabel。QTP 无法识别此控件并被 Object Spy 忽略。任何建议、提示、线索如何测试标签?

干杯!

4

4 回答 4

2

您是否尝试过使用 TStaticText 而不是 TLabel?
它们是带有窗口句柄的标签(从 TWinControl 而不是 TGraphicControl 降序),这意味着它们可以从外部获取 Windows 消息。
我猜这是你的问题。(只是猜测,因为我不知道 QTP)

于 2009-06-24T23:37:55.117 回答
1

您可以为 QTP 编写自己的 Delphi 扩展器来处理这个问题。QTP 安装路径中应该有一个 pdf:C:\Program Files\HP\QuickTest Professional\help\Extensibility\DelphiExtensibility.chm 和 DelphiExtensibility.pdf。

于 2009-06-25T13:56:59.530 回答
1

它可以检测TSpeedButton之类的控件吗?如果没有,这可能表明 Qtp 无法检测到来自 TGraphicControl 的控件,因此没有窗口句柄。

于 2009-06-24T23:20:15.387 回答
0

如果您仍然必须“按原样”测试它,您可能必须采用更硬编码的方式来处理这些控件的父级。

QTP 中的窗口对象通过其方法允许查找包含文本的矩形区域,或单击找到的文本。如果它是屏幕上带有大量标签的区域,您可以将整个屏幕转储到文本文件并进行文本文件比较。您还可以在进行比较之前对检索到的文本进行规范化。

这种方法不太健壮,但如果动态计算矩形,您可以改进它,尽可能不使用硬编码点。

于 2009-07-13T17:34:55.933 回答