QTP的對象識別技術(shù)
在我們在做自動化的時候,經(jīng)常會遇到的一種情況就是,在同一個頁面里, 出現(xiàn)相同類型和名稱的對象時,一般需要依賴額外的屬性來區(qū)分這些相同的對象。
在QTP 里共有3類這樣的順序標(biāo)識。
1. 順序標(biāo)識(Ordinal Indentifiers):[location \ Index \ CreationTime] 其中CreationTime 僅適用于Browser對象
這些順序標(biāo)識一般用在描述性編程里面 例如:
'采用Location 是 按對象位置的從上到下的 Browser("").Page("").WebEdit("name:=qtp","location:=2").Set "Eric_1991" '采用Index 是按對象的位置從左到右的 Browser("").Page("").WebEdit("name:=qtp","index:=3").Set "Eric_1991" 'CreationTime 順序標(biāo)識僅能用在Browse對象, 按瀏覽器的進程產(chǎn)生的時間先后順序排列 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 在碰到對象識別問題的時候,會嘗試應(yīng)用智能識別(Smart Identification)。 如果智能識別能定位到對象,那么腳本就繼續(xù)運行,否則就會提示錯誤
在 對象的智能識別設(shè)置 Base Filter Properties 里會進行第一亂的 對象屬性的匹配,如果Base Filter Properties 里面的屬性不能夠定位到該對象,那么QTP就會到該對象的Optional Filter Properties 里面的屬性進行逐個去匹配 ,直到能定位到該對象位置, 否則就會發(fā)生對象找不到的錯誤
posted on 2014-01-03 13:40 順其自然EVO 閱讀(437) 評論(0) 編輯 收藏 所屬分類: qtp