如何在QTP中测试标签

时间:2009-06-24 22:43:55

标签: delphi qtp

我正在使用QTP 9.5测试我的应用程序 德尔福。我安装了Delphi Add-in和QTP 可以识别Delphi控件。大多数但不是全部, 特别是TLabel。 QTP无法识别这一点 控制并被Object Spy忽略。 任何建议,提示,线索如何测试标签?

欢呼!

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

它可以检测像TSpeedButton这样的控件吗?如果没有,这可能表明Qtp无法检测从TGraphicControl下降的控件,因此没有窗口句柄。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

如果您仍然需要“按原样”进行测试,您可能需要采用更加硬编码的方式来解决这些控件的父级问题。

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

这种方法不太稳健,但如果动态计算矩形,可以在不使用硬编码点的情况下改进它。