軟件測試工具QTP的智能識別(Smart Identification)過程

發表于:2010-02-24來源:作者:點擊數: 標簽:軟件測試工具qtpQTPSmart
QTP 在碰到對象識別問題的時候,會嘗試應用智能識別(Smart Identification),如果智能識別能定位出對象則繼續腳本的執行,否則提示錯誤。 假設錄制了下面的腳本: Browser(" Mercury Tours").Page("Mercury Tours").Image("Login").Click 22,17 對于Login
QTP在碰到對象識別問題的時候,會嘗試應用智能識別(Smart Identification),如果智能識別能定位出對象則繼續腳本的執行,否則提示錯誤。

  假設錄制了下面的腳本:

  Browser("Mercury Tours").Page("Mercury Tours").Image("Login").Click 22,17

  對于Login這個Image對象,QTP默認采用alt、html tag、image type屬性來識別對象。

  然而,當你創建好上述腳本后,開發人員又在同一個頁面添加了第二個Login對象(為VIP登錄而設計的),同時修改了原來的Login對象的alt屬性,改成了"basic login"。

  這樣當你針對新版本的頁面重新回放上述腳本時,QTP就不能基于alt + html tag + image type的屬性組合來識別Login對象了,因為alt屬性已經改了。但是QTP仍然能夠成功地識別出Login對象來,因為這個時候它會去使用智能識別(Smart Identifation)。

  下面的過程描述了QTP應用智能識別來確認Login對象的步驟:

  1、根據WEB Image對象默認設置的智能識別定義,QTP首先從頁面中找出所有html tag屬性=INPUT的對象(應用在Base Filter Properties中定義的屬性類型進行第一輪篩選和過濾)。

  2、把篩選出來的對象作為候選對象,再依次應用Optioanl Filter Properties中定義的屬性類型進行過濾:

  2.1 、QTP會首先檢查候選對象的alt屬性,但是發現沒有等于"Login"的,因為已經被開發人員改為"basic Logi"了。因此QTP會忽略這個屬性類型,繼續應用下一個屬性類型。

  2.2、QTP檢查每個候選對象的image type屬性,把image type不等于Image Button的對象過濾出去。

  2.3、QTP檢查候選對象的html id屬性,發現所有對象的這個屬性的值都是空的。

  2.4、QTP檢查候選對象的name屬性,發現有兩個對象(basic login和VIP login)的name屬性都等于"login",因此QTP把其它的對象過濾掉,剩下這兩個對象。

  2.5、QTP再檢查剩下兩個對象的file name屬性,發現只有一個是等于"login.gif",因此QTP就此結束智能識別過程,推斷出這個對象是它要找的Login對象并且點擊它。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97