51Testing丛书连载:(十三)精通QTP——自动化测试技术领航

发表于:2012-1-05 13:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:余杰 赵旭斌    来源:51Testing软件测试网

1.5 QTP精华—对象库(上)之基础攻略篇

  阶段要点

  ● 初步了解QTP中的测试对象模型。

  ● 明确Object Identification是管理对象模型的长官。

  ● 掌握智能识别原理、机制和各项设置。

  ● 对象库基本操作之添加、更新、对象闪烁、副对象库(Associate Repositorys)。

  ● 一个有趣的实验证明,做项目时手工添加对象的好处与效率。

  ● Export Local Objects与Export and Replace Local Objects。

  ● 掌握并熟练运用Object Spy。

  ● 明确使用公共对象库的必要与优点。

  ● 熟练驾驭对象库指挥官Object Repository Manager。

  ● Object Repository Manager的两个王牌级辅助工具初体验。

1.5.1 引言

  如果说,上一章节是彻底摆脱脚本录制的一个良好的开端,是带领读者逐步走向QTP自动化测试项目开发的台阶,那么从本章节开始,读者将跨出巨大的一步,真正开始走进QTP脚本开发的世界。

  在QTP这个自动化测试工具中,存在着两种脚本开发模式,第一种开发模式就是从本章节开始要逐步具体、深入、详细讲解的“对象库编程”。当然,本书的一贯原则是“实用原则”,所以无论是在上篇(本章节)还是下篇(1.6章节)都绝对不会详细地讲解在实际项目运用中用不到或很少会用到的知识点。想要精通对象库编程这个开发模式,并驾轻就熟地运用到自动化测试项目中,首当其冲就是要先“精通”QTP的对象库,作者讲的对象库其实是一个总称和概括,从大的方面包含对象库本身的功能、对象库的机制与原理、对象库编程知识、如何在实际项目中运用对象库编程等。

  在上面作者主要针对QTP对象库的机制与原理以及对象库本身的功能做深入讲解,而对象库编程的部分则会在下篇中精彩解读。虽然需要掌握那么多知识的确很烦,也需要一个过程,但是作者认为上篇和下篇中的所有内容已经是最精简的了,所以,请读者务必对这些知识点做到“精通”,它们都是经常在实际项目中使用的,可以说是QTP脚本开发的必备技能!如果不能精通QTP的对象库,那一定不会是一名合格的QTP自动化测试工程师!

1.5.2 对象库的出现改写了软件测试历史

  QTP的对象库是这个强大的自动化测试工具的核心,也是其精华所在!有了对象库这一整套功能、机制,QTP才可以在那么多的自动化测试工具中脱颖而出!QTP的整套对象库功能与对象识别机制给自动化测试人员带来了前所未有的体验,它的成熟、上手度、良好的使用感受都是市面上其他任何自动化测试工具无法给予的。对象库是QTP在实际项目应用中的枢纽,读者一旦精通了它,会感觉到在项目应用、QTP各项功能中都会和对象库产生必要联系。本章节的内容会结合大量仿真项目的应用来引导读者逐步精通对象库,希望读者能够做到举一反三,细细去品味对象库带来的不同感受(针对之前使用过其他自动化测试工具的读者效果更佳)!

  小小的总结一下,可以说QTP在实际项目中的应用开发(特别是自动化测试项目做成功的案例)绝大部分都基于对象库编程模式,所以,对象库的出现改写了自动化测试领域的历史,也推动了这个技术领域走向更高的台阶!另外,先预告下,本章节以及下一章节的篇幅会很大,因为这两个章节的内容是QTP最精华的部分,也是整个第一章的最重要的一块,务必耐心学习

1.5.3 一个简单的实例介绍对象库原理、机制及操作流程

1.5.3.1 对象模型的老大Object Identification和对象库的暧昧关系

  在介绍对象库的原理与机制之前,首先说一下QTP自动化测试的原理,分以下3个步骤。

  (1)封装真实被测对象并转化为QTP对象到对象库。

  (2)对比对象库里的对象鉴别属性和运行时的真实被测对象的鉴别属性。

  (3)对比后如果一致,则说明对象成功匹配并可以继续对该真实被测对象进行后续操作,如果两者不一致则报错,提示为对象无法识别。

61/6123456>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • lyscser
    2012-2-13 09:52:44

    你理解没错,作者说得也没错,不过你在扣字眼子……
    对象库文件其实是一组map,QTP抽取的对象属性都在里面拼接并且封装,生成对象库对象
    对象识别时,根据用户选择这组map中的其中几个元素或节点去被测应用中寻找UI组件
    你说的模型是一个方法上的模型,就像数学的公式,只是一串符号、是概念上的模型;
    而作者说的模型是我说的这组map,它是公式的实例化方法,不仅仅停留在概念上

    不知道你理解否

  • kerwin_woo
    2012-2-12 23:06:33

    让人受益匪浅的一本书。我是一个初学者,书里面有一个问题让我有些纠结,求大侠们帮忙解决一下。就是连载的第十三章第2页,作者讲到(每个对象模型都有一个可以唯一标识对象的关键属性列表,我们将前面这些连起来一块说,就是在添加对象至对象库后,QTP自动建立被添加对象的对象模型,并给出一个默认识别标识。然后,每个对象模型都有一个可以唯一标识对象的属性列表,这个属性列表是可以设置的,它就是Object Identification)。我个人认为的是,这些对象模型其实在我们没有添加对象的时候就已经有了,就是在我们导入插件的时候,这些模型就出现了。我做过这样一个实验,就是如果不选web插件,那么在object identification里面就不会有相应的web edit之类的模型。我认为模型嘛,也就是跟模版一样,根据模型来创建对象,我们加入的对象是在这个模型的基础上建立的,所以它必须具备这个模型的基本属性。不知道我表述清楚没。希望各位专家能够带领在下走出误区,能够对在下的理解给出肯定或是否定,非常感谢~~~~~支持51testing

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号