51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7832|回复: 19
打印 上一主题 下一主题

[原创] QTP对象识别的核心技术

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-10-31 10:22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在些先声明,如果触犯到了HP的利益,实属无心。
     迫于QTP对自定义控件的识别局限,和项目的需要,无奈之下对QTP做了全面的体检,安装目录下的每个文档都研究了一遍,只为了找出QTP识别自定义控件的根本方法,经过一些努力,有所收获,在些拿来和大家分享一下,也要感谢陈能技大哥的那篇文章:QTP对.NET自定义控件的扩展。
    其实QTP的对象识别核心思想,分成两种,一种是封装好的DLL,另一种是XML标记语言描述,这两种文件里面都是封装的一些标准控件,各种插件安装后也是如此,QTP先会读取这些文件,然后会把它里面的对象类别加载到一个文件,每次QTP启动的时候,根据选择的ADD_IN去加载控件支持,在录制和回放脚本的时候拿这些对象属性去对比获得的对象属性,如果属性和方法相同则能识别,介于这个思想,我们就不用再对QTP的插件保持它的神秘感了,对于9.5以下的版本,QTP安装插件都需要插件有权限,所以我们其实可以在QTP自带的对象描述文件夹中,把没有权限的插件的对象描述COPY进去,或者也可以自己开发插件,然后对QTP的文件进行修改就行了,而对于自定义的控件,我们也可以在XML文件里面增加或修改控件描述,让QTP识别它,就说这些吧,还有些具体的技术细节没有搞清楚,等都OK了再进行补充。

[ 本帖最后由 Robel.Yi 于 2008-10-31 10:44 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-10-31 10:30:13 | 只看该作者
大家你研究得比较深啊,我现在还在为回放顺利努力中,不过,先顶一下。。  偶也想知道。。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-10-31 10:34:03 | 只看该作者
这个我倒没去研究,不过它封装的技术应该很强才对,难道我们能添加一个自定义的插件么?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-10-31 10:38:01 | 只看该作者
QTP它不会完全封装的,必须要提供扩展,这样才能让它更灵活。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-11-20 12:12:36 | 只看该作者

加一 QTP录制时对对象识别的过程

当录制时,QTP将查看要录制的对象并将其作为测试对象进行存储,确定该对象符合的测试对象类,如,标准Windows、对话框、WEB按钮等。然后对于每个测试对象类,QTP都有一个始终要记住的强制属性的列表,当录制对象时,QTP始终记住这些默认的属性值,然后“视图”页面上其余的对象、对话框或其他父对象,以检查该描述是否足以唯一标识该对象,如果不足以进行唯一标识,还可以通过添加辅助属性以及顺序标识符,以创建唯一的标识。然后运行时,拿这些标识去对比运行时对象类,属性完全匹配,则能识别对象。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-12-1 17:04:08 | 只看该作者
除了“强人”,我还有更贴切的词语形容你吗?!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-12-1 17:12:25 | 只看该作者
原帖由 sogoc 于 2008-10-31 10:34 发表
这个我倒没去研究,不过它封装的技术应该很强才对,难道我们能添加一个自定义的插件么?


提供一个PPT文件给大家参考一下.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-12-9 13:40:16 | 只看该作者
碰到大牛贴,继续关注中。。。。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-12-9 16:31:06 | 只看该作者
我觉得真正的核心技术应该是楼主所说的两种方式下更深层次的一些东西吧,比如DLL,它是通过何种原理来判别对象的,可能会用到HOOK技术;关于XML,它又是如何根据你添加的属性来得到它的属性值等等。。。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-8-17 21:06:40 | 只看该作者
感谢7楼兄弟的分享
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2009-8-17 21:57:46 | 只看该作者
最关键的一点就是你咋让qtp加载你想要的dll?这层窗户纸还是没捅破-。-!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2009-8-28 14:24:53 | 只看该作者
这些细节怕就要有人总结了.涉及知识广呀
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2009-10-9 17:10:12 | 只看该作者
新人,正在学习中,顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2010-10-3 16:52:07 | 只看该作者
好文,学习中
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2018-7-13 14:04
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]测试排长

    15#
    发表于 2010-10-5 12:20:39 | 只看该作者
    还说什么,顶一下吧.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2010-10-7 11:58:11 | 只看该作者
    哇……学习中,继续关注!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    17#
    发表于 2010-10-7 14:40:59 | 只看该作者
    我觉得真正的核心技术应该是楼主所说的两种方式下更深层次的一些东西吧,比如DLL,它是通过何种原理来判别对 ...
    lantianwei 发表于 2008-12-9 16:31



        同感啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    18#
    发表于 2010-10-9 11:14:28 | 只看该作者
    不错,学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    19#
    发表于 2011-4-11 16:14:59 | 只看该作者
    怎么就没了下文了呢?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2012-4-26 09:57:00 | 只看该作者
    学习中,继续关注
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-9-25 16:27 , Processed in 0.086651 second(s), 31 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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