QuickTest首先会将单击的这个对象标识为WebButton测试对象,它将创建一个名为Find的WebButton对象,然后为该WebButton对象录制属性和属性值,以及执行的click操作:
type:submit
name:Find
html tag:input
Browser("Mercury Interactive").Page("Mercury Interactive").
WebButton("Find").Click
(5) 运行测试或组件时, QuickTest 通过其测试对象类及其描述(一组用于唯一标识该对象的测试对象属性和属性值)来标识应用程序中的每个对象。测试对象及其属性和属性值的列表存储在对象库中。在上例中, QuickTest 将在运行会话期间在对象库中搜索 WebButton 对象,通过名称 Find 来查找其描述。QuickTest 根据找到的描述,在应用程序中查找 WebButton 对象,该对象带有 HTML 标记INPUT、类型为 submit、值为 Find。找到对象后,它将对其执行 Click 方法。
三、了解测试对象和运行时对象的属性和方法
(1) QuickTest 创建并维护每个测试对象的测试对象属性集。对象创建者创建并维护每个运行时对象的运行时对象属性集。(Microsoft 负责 Internet Explorer 对象, Netscape 负责 Netscape 对象,产品开发人员负责 ActiveX 对象,等等)。
(2) 测试对象方法是您在录制时针对对象执行而由 QuickTest 识别和录制的方法,也是您在运行测试或组件时由 QuickTest 执行的方法。
(3) 运行时对象方法是对象创建者定义的应用程序中对象的方法。可以使用 Object 属性来访问和执行运行时对象方法。
(本人理解:首先QTP会将应用程序中的对象(可理解为运行时的实际对象)解析为自己的对象,也就是创建测试对象,然后会将应用程序中对象的属性以及属性值记录下来,跟测试对象一起存储到对象库,并且确立一个可以唯一标志该对象的属性,在回放的时候会到对象库中根据该唯一属性查找相应的对象进行测试。如果找不到唯一标识的属性或者找到多个属性相似的对象,QTP会采用“智能识别”法来分辨对象,如果“智能识别”法也不能用,那就会报'Cannot identify the object(对象名称)...'的错咯^_^不知道这样理解对不对,请各位指正.
文章来源于领测软件测试网 https://www.ltesting.net/