QTP常用的幾種引數化
很多人最初接觸引數化的時候都是從利用datatable的Global表引數化開始的。因為那是操作實現起來最簡單的引數化,但同時也是誤導和制約大部分新手的一個枷鎖。
順帶說一個很多新手因為這個引數化產生的問題吧:
引數化之後,重新錄製一個Test,回放時候會執行多次(上次引數化的次數)。
原因:引數化之後datatable的global表中的資料行沒有刪除乾淨,表現為Global表中某行的下邊框為黑色線條。
解決:選中Global表中的行,右鍵選擇Edit—Delete,刪除改行即可。
擴充套件:Global表中第一行的黑線是無法通過delete刪除掉的,因為qtp指令碼的迭代次數首先是根據global表和Local表來控制的,並且因為指令碼至少迭代一次,所以global表中至少要有一行資料(global表中無資料的時候,是預設有一行為空的資料的);
引數化是自動化測試中的一個非常重要的部分,也是學好自動化測試一個重中之重。下面來簡單介紹幾種qtp常用的引數化方法,並簡略對比分析他們的優劣性,至於具體使用下一篇會詳細介紹:
1. datatable引數化:datatable是qtp封裝的一個小型資料表,對於它的介紹可以參看qtp幫助文件的介紹。
優點:訪問速度快,操作簡單且快速上手。
缺點:需要在錄製或編寫測試指令碼的時候把資料一起填充進去;即使有qtp指令碼中有單獨的parameter.mtr檔案可以單獨編輯處理測試資料,但畢竟這種型別的檔案是qtp專有的資料檔案,從維護角度上來說總是很費事。
適用情況:引數為固定引數時使用
2. 外部資料檔案excel、database+datatable引數化:使用外部檔案匯入資料以彌補parameter.mtr檔案不利用編輯維護的缺陷。
優點:datatable檔案訪問速度快,操作簡單。外部excel、database檔案編輯方便,並且與指令碼分離,易於擴充套件。
缺點:因為需要在測試執行初期或開始呼叫測試資料前匯入測試資料,在執行結束後將測試資料匯出並銷燬datatable的使用痕跡,所以初始化Test和執行Test時比較浪費時間,並且對資源的佔用也較大(需要兩次大資料量轉儲)。
適用情況:引數較多卻需要頻繁讀取的情況下
3. 外部檔案excel、database引數化:直接使用外部檔案作為資料來源進行引數化。
優點:資料易於組織管理,不需要中轉備份。
缺點:訪問速度比較慢,如果引數需要頻繁讀取的時候,響應速度和資源佔用情況都不樂觀
適用情況:引數較多不需要頻繁讀取
4. txt、xml檔案引數化:文字檔案讀取資源佔用小,訪問快,且易於編輯修改
優點:訪問速度較excel、db檔案快
缺點:不易於組織管理。
適用情況:引數較少的情況下
5. xml、txt、ini + qtp環境變數:利用環境變數,加強文字引數檔案的組織結果
優點:訪問速度快速,只需要管理txt檔案的目錄結構即可實現引數的組織管理
缺點:不能很好的響應引數值動態變化
適用情況:引數分類較細,且每個引數檔案中的引數條目較少