您好,欢迎访问三七文档
QTP的对象识别原理知识点1、录制原理QTP首先“观看”要录制的对象,然后将其作为测试对象进行存储,确定该对象符合的测试对象类,例如标准Windows对话框(Dialog)、Web按钮(WebButton)或VisualBasic滚动条对象(VbScrollBar)。然后,对于每个测试对象类,QTP都有一个始终要记住的强制属性的列表,在录制对象时,QTP始终记住这些默认的属性值,然后再检查“视图”页面上其余的对象、对话框或其他父对象,以检查该描述是否足以唯一标识该对象,如果不足以进行唯一标识,QTP将向该描述中逐渐添加辅助属性,直到经过编译成为唯一的描述为止,如果没有可用的辅助属性,或者那些可用的辅助属性仍不足够创建一个唯一的描述,QTP将添加一个特殊的顺序标识符(例如页面上或源代码中对象的位置)以创建唯一的描述。在回放过程中,QTP会搜索与录制时记住的测试对象的描述完全匹配的运行时对象,它需要找到与录制时用于创建唯一描述的强制属性和任何辅助属性完全匹配的对象,只要应用程序中的对象没有较大的改变,录制过程中记住的描述几乎总是足以使QTP唯一标识出该对象。对于大部分对象,这种方法是适用的,但应用程序中包含的某些对象可能在后续运行会话期间很难标识。但即使录制的描述不再准确,QTP也能通过其“智能标识”机制使用非常相似的排除过程来标识对象。即使测试对象属性的值有所改变,QTP的TestGuard技术机制也能通过使用“智能标识”标识对象从而维护测试或组件的可重用性。属性识别再到属性value的识别,就确定了对象。QTP能识别对象不是因为对象的名称,而是从对象的强制属性的取值来识别对象。而名称就算不一样都无所谓。菜单项:Tools/ObjectIdentification2、回放原理一、先根据脚本中的对象类型在对象库中查找是否存在该类型的对象。对象类型是指在对象类型库(ObjectIdentification)中存在的类型。二、根据脚本中对象的名称在对象库中查找是否存在该名称的对象。三、根据对象类型库中设定的对象识别机制定位对象:1、先根据强制属性匹配实际对象的属性值:(1)唯一匹配,找到对象,退出识别机制;(2)多个匹配,采用辅助属性辅助识别;(3)不匹配,报错;2、根据辅助属性匹配实际对象的属性值:(1)唯一匹配,找到对象,退出识别机制;(2)多个匹配,采用顺序标识符辅助识别;(3)不匹配,报错;3、根据顺序标识符匹配实际对象的顺序值:(1)唯一匹配,找到对象,退出识别机制;(2)多个匹配,尝试采用智能识别;(3)不匹配,报错;其中顺序标识符中有两种识别机制:index:控件数组的索引值。location:对象在GUI界面上的位置,遵循“先从上到下,再从左到右”的原则。4、QTP采用自身的一套智能识别机制识别(SmartIdentification)。示例利用win2000-calc.exe计算器录制一段脚本1+2=3修改对象库中各对象的Name,则脚本中的名称也一并变化,并且不管把名称修改成什么,回放结果都是1+2=3,并不因Name的不同而去结算别的值(改了名你还是你)。不重新录制,而是修改这段脚本,计算3+4=7。方法:利用对象库中的添加对象按钮把按钮3和4加进来,然后修改脚本。ObjectRepository:对象库,查看每个定义的对象的属性和值。Highlight:高亮显示识别的是哪个对象。ObjectSpy:对象探测器,利用它可以正确探测到对象的实际值。AddObjectstoLocal:添加对象库UpdatefromApplication:更新对象属性locateinrepository:定位指定的对象是对象库中的哪个对象不重新录制,修改脚本,计算5+6=11方法:利用ActiveScreen(ViewActiveScreen)实现,鼠标指向对象,右键执行“Add/ViewObject—Addtorepository”保存脚本,“Action1\SnapShots”目录下放着许多png文件。练习录制win2000-calc.exe计算器,重复老师的练习
本文标题:软件测试第七周
链接地址:https://www.777doc.com/doc-1991715 .html