QTP采用的關鍵字驅動與專家視圖的設計思想,不但可以自動生成代碼,使初學者快速入門,更為高級測試人員提供了便利的編程界面,使其可以高效的完成自動化測試腳本,不用完全依賴于錄制和回放過程。
下面就我個人的使用經驗,簡單談談如何不依賴于錄制和回放來完成QTP腳本的。
操作步驟很簡點,主要分為三步:
第一步,維護對象庫,添加必需的對象以及配置對象的屬性。
第二步,在專家視圖中,編寫測試代碼。
第三步,運行并調試代碼。
舉個簡單的例子。
以在51testing的網站上搜索關鍵字QTP為例。
首先,打開QTP,點擊工具欄上的Object Repository按鈕,打開對象庫維護界面。如圖一(圖片暫時上傳不了)
點擊Add Objects按鈕,添加站內搜索的文本框以及后面的查詢按鈕對象,如圖二
然后,在專家視圖中,手動輸入如下代碼:
Browser("軟件測試專業網站:51Testing軟件測試網").Page("軟件測試專業網站:51Testing軟件測試網").WebEdit("keyword").Set "QTP"
Browser("軟件測試專業網站:51Testing軟件測試網").Page("軟件測試專業網站:51Testing軟件測試網").Image("GO").Click
由于錄制的過程中,待測試的頁面是已經打開的,所以為了保證這個測試的前提條件,在前面添加打開IE的語句。
SystemUtil.Run "iexplore.exe",""
這樣,使用QTP的自動化測試腳本就完成了,運行看看是否通過?結果是一次性通過,而且沒有其他需要修改的地方了。
還可以在此基礎上增加關閉所有IE的函數,增加驗證點等等使腳本更加健壯和完整,這里就不贅述了。
如果使用錄制和回放的方法來開發腳本,可能存在以下幾個問題:
一個是自動生成的代碼有一些是沒有用的,有時候反而會影響代碼的質量;
一個是通過錄制生成的代碼,健壯性都不好,如果要使腳本在無人值守的情況下順暢地運行,還是需要手動修改的。比如在對象找不到的地方增加判斷對象是否存在,再繼續下一步操作等等;
再有,就是錄制的過程中,會使你的對象庫中多出來一些腳本正常運行以外的多余的對象,給維護對象庫也增加了工作量。
比較這兩種方法,總體感覺直接添加對象并編寫代碼的方式,可以彌補錄制回放過程的不足,節省了腳本的開發時間,減少了對象庫的維護工作量,大大提高了自動化測試腳本的開發效率。
當然,能夠這樣做是有前提的。
第一,必須對待測試的系統非常熟悉。即開始寫自動化腳本之前就能從大腦中反映出每一個步驟中需要的對象及操作。
第二,對QTP的工作原理以及工具本身非常熟悉。能夠有辦法解決腳本運行時出現的任何問題。
第三,有良好的編程基礎尤其是針對VBscrīpt語言的。如果對于代碼的結構、可維護性都把握很好的話,那么效果就會更加明顯了。
補充一點,使用這種方法,你的對象庫的設計一定要到位,保證在寫代碼的時候,很容易的找到你要操作的對象,否則就得不償失了。
文章來源于領測軟件測試網 http://www.kjueaiud.com/