在我们在做自动化的时候,经常会遇到的一种情况是,在同一个页面里, 出现相同类型和名称的对象时,一般需要依赖额外的属性来区分这些相同的对象。
  在QTP 里共有3类这样的顺序标识。
  1. 顺序标识(Ordinal Indentifiers):[location Index CreationTime]   其中CreationTime 仅适用于Browser对象
  这些顺序标识一般用在描述性编程里面 例如:
'采用Location 是 按对象位置的从上到下的
Browser("").Page("").WebEdit("name:=qtp","location:=2").Set "Eric_1991"
'采用Index 是按对象的位置从左到右的
Browser("").Page("").WebEdit("name:=qtp","index:=3").Set "Eric_1991"
'CreationTime 顺序标识仅能用在Browse对象, 按浏览器的进程产生的时间先后顺序排列
SystemUtil.Run "iexplore.exe", "http://www.HP.com" '这个时候CreationTime 的值是0
SystemUtil.Run "iexplore.exe", "http://www.baidu.com"  '这个时候CreationTiem的值是1
Browser("creationtime:=").Highlight '高亮显示的是HP.com的浏览器
Browser("creationtime:=").Highlight '高亮显示的是baidu.com的浏览器'
  QTP 在碰到对象识别问题的时候,会尝试应用智能识别(Smart Identification)。 如果智能识别能定位到对象,那么脚本继续运行,否则会提示错误
  在 对象的智能识别设置  Base Filter Properties  里会进行第一乱的 对象属性的匹配,如果Base Filter Properties 里面的属性不能够定位到该对象,那么QTP会到该对象的Optional Filter Properties 里面的属性进行逐个去匹配 ,直到能定位到该对象位置, 否则会发生对象找不到的错误