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
廣告