51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 3151|回复: 9
打印 上一主题 下一主题

[原创] 请教关于QTP对象识别原理的问题。

[复制链接]

该用户从未签到

1#
发表于 2012-9-25 16:39:26 | 显示全部楼层
回复 1# xjwldlover

你是不是想得太复杂了?
而且你的描述我有点没有看明白, 比如“应用的QTP对象”何解? 还有OLE和关键字驱动怎么也能扯在一起?

我对QTP对象识别的理解是这样的。 被测试产品的GuI对象就是所谓的“native object”, QTP对“native object”封装了, 提供了一个所谓的“QTP object”。

一般我们直接操作“QTP object, 但是QTP也提供接口你能“访问”native object, 比如调用javaobject的方法, 或者获取dom对象的属性等。   但一般不建议这么做, 因为 “QTP object”具有更容易使用, 更有效率的接口,比如其childObjects就是一个非常有用的方法。

至于”映射是如何完成的“, 对于不同类型的GUI, 肯定有不同的实现机制。 最笨的方法, 就是遍历Native GUI element tree来匹配。 以html为例, 底层就是Dom tree,如果你熟悉Dom的接口, 那么你也完全写一个类似QTP object的接口的封装Dom对象的”自动化测试工具“, 其实Watir就是这么干的, 你可以去看看Watir的源代码。 当然, 为了提高识别效率, 或许QTP用了一些特殊的hook也说不定, 但除非你对此有特殊的兴趣, 对于我们测试开发人员来说, 不用探究其细节了。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-12 20:05 , Processed in 0.060622 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表