QTP 主要采用的是使用GUI模擬人的操作。它在模擬人的操作時會記錄操作的對象及所做的操作和順序,然后在回放時按記錄順序操作這些對象。而在這個模擬的過程中,最重要的莫過于界面對象(控件)的識別,那QTP是怎么做的呢" name="description" />

QTP自動化測試原理

發表于:2009-05-27來源:作者:點擊數: 標簽:自動化qtpQTP原理
MI LY: verdana; TEXT-ALIGN: left"> QTP 主要采用的是使用GUI模擬人的操作。它在模擬人的操作時會記錄操作的對象及所做的操作和順序,然后在回放時按記錄順序操作這些對象。而在這個模擬的過程中,最重要的莫過于界面對象(控件)的識別,那QTP是怎么做的呢
MILY: verdana; TEXT-ALIGN: left">

QTP主要采用的是使用GUI模擬人的操作。它在模擬人的操作時會記錄操作的對象及所做的操作和順序,然后在回放時按記錄順序操作這些對象。而在這個模擬的過程中,最重要的莫過于界面對象(控件)的識別,那QTP是怎么做的呢?下面就舉一個小例子來說明:
比如我們要測試內網論壇http://XXX.XXX.XXX/bbs/index.php用正確的用戶名和密碼是否能成功登錄。登錄界面如下:
  


測試步驟大概如下:
1.
要先識別用戶名輸入框、密碼輸入框、登錄按鈕控件
2.
在用戶名輸入框中輸入正確的用戶名
3.
在密碼輸入框中輸入正確的密碼
4.
點擊登錄按鈕
5.
驗證是否登錄成功,要驗證是否成功登錄,那就得知道成功登錄與失敗登錄的區別。成功登錄后的頁面如下:


我們可以通過驗證紅色框中的內容或驗證綠色框中的內容來標識登錄是否成功,然后記入測試報告。
       以上只是一個小例子,從中可以看出識別對象是一個很重要的問題也是一個很困難的問題,畢竟現在的控件類型越來越多(包括第三方插件或自己開發或定義的控件)。那QTP是怎么來識別對象的呢,下面通過講解QTP識別以上小例子中的控件的方法來說明一下:
       首先,QTP是通過記錄控件的屬性來標識對象的(當然具體用哪一些屬性,QTP是有默認的,也可以配置)。假設QTP使用“html tag”和“name”屬性來識別對象,QTP是怎么處理的呢?請先看下圖:

                                   圖-QTP對象識別


       在使用QTP錄制時,QTP會把對象存儲到對象庫中。而對象是按如上圖的方式存儲于對象庫中。即,QTP會默認給錄制的對象取一個名字(這個名字可以自己改,只要在腳本中使用到此對象時保持和此名字一樣就可以了),然后把識別此對象的屬性和屬性值存儲到對象庫中,我們可以先把識別對象的屬性集合認為是一個屬性包,接著就是把識別此對象的屬性包與定義的對象名進行關聯,也叫做對象映射。這樣一個對象就存入對象庫了。

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

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