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

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

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

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

  我们可以看到,QTP自动化测试的原理其第一步就和对象库产生了联系,具体到底是如何联系起来的呢?其实很简单,在QTP里有测试对象模型这一个概念,它把各种对象都分门别类起来,建立出一个个对象模型,然后用这些对象模型来表示Web页面中的对象,比如WebButton、WebList、WebElement等各种各样的对象。每个对象模型都有一个可以唯一标识对象的关键属性列表,我们将前面这些连起来一块说,就是在添加对象至对象库后,QTP自动建立被添加对象的对象模型,并给出一个默认识别标识。然后,每个对象模型都有一个可以唯一标识对象的属性列表,这个属性列表是可以设置的,它就是Object Identification,先认识一下它,如图1-50所示。

图1-50

  如图1-50所示,可以看到这就是Object Identification的界面,开启它的方法是:

  QTP上方菜单栏→Tools→Object Identification。

  在Object Identification对话框中设置的属性在添加完对象后就可以在对象库中查看到。如果觉得这些默认显示的属性还不够或者有的默认的属性是多余的,可以进行手工设置,看一下实例,通过实例来看最终效果,需要再一次借用百度的搜索框,如图1-51所示。

图1-51

  这是一个WebEdit控件,也就是一个WebEdit对象模型,等会作者把这个对象添加到对象库中,添加两次,第一次不改Object Identification中WebEdit对象模型的默认属性,第二次剔除其中一个属性,然后一起看看它在对象库中的属性列表显示情况。先来看默认的情况,如图1-52所示。

图1-52

  图1-52中,作者标识了两个不同的区域Mandatory Properties和Assistive Properties。先知道它们的区别,Mandatory Properties就是对象模型的必要属性,这个区域设置的属性在实际被测对象与对象库匹配时,只要有一个属性不一致就报错。Assistive Properties就没有这个规矩了,并且QTP默认所有的对象模型在这个区域中没有任何属性。

62/6<123456>
《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号