QTP - 序号标识符



有时,会出现一系列具有相同类名和属性的对象。例如,在一个窗口中,存在一系列具有相同属性集的复选框。如果要对这些对象进行操作,则需要唯一地识别它们,以便 QTP 能够对其进行操作。

序号标识符为测试对象分配一个数值,该数值指示其相对于其组的位置或顺序。当内置属性不足以唯一识别对象时,有序值使 QTP 能够唯一地识别它。

QTP 中有三个序号标识符可用于不同的上下文:

  • 索引
  • 位置
  • 创建时间

索引

与同一页面/窗口中稍后出现的另一个对象相比,页面/窗口中首先出现的一个对象的索引值较小。

Understanding - Index

对于一组文本框,索引值如下:

对象名称 索引值
文本框 1 0
文本框 4 1
文本框 2 2
文本框 5 3
文本框 3 4
文本框 6 5

位置

位置属性从上到下,从左到右垂直工作。因此,对于相同的情况,一组文本框的位置值如下:

对象名称 索引值
文本框 1 0
文本框 2 1
文本框 3 2
文本框 4 3
文本框 5 4
文本框 6 5

创建时间

创建时间属性仅适用于基于 Web 的应用程序。当我们打开同一网站的两个浏览器会话时,QTP 将无法识别窗口,因为这两个窗口将具有相同的属性集。因此,我们可以使用创建时间,QTP 将能够对窗口进行操作。

'Will have CreationTime value = 0 
SystemUtil.Run "iexplore.exe", "http://www.google.com"       

'Will have CreationTime value = 1  
SystemUtil.Run "iexplore.exe", "http://www.yahoo.com"        

'Will have CreationTime value = 2    
SystemUtil.Run "iexplore.exe", "http://www.microsoft.com"   

'Will have CreationTime value = 3   
SystemUtil.Run "iexplore.exe", "https://#" 

因此,要操作特定的浏览器,我们需要在对象库中明确提及创建时间,或者可以使用对象的描述,这将在描述性编程部分详细介绍。

'Sync's www.google.com 
Browser("creationtime:=" ).Sync                  

'Gets the RO text property of www.yahoo.com  
Browser("creationtime:=1").GetROProperty("text")    

'Highlights microsoft.com 
Browser("creationtime:=2").Highlight                
qtp_object_repository.htm
广告
© . All rights reserved.