1. 程式人生 > >QTP常用的幾種引數化

QTP常用的幾種引數化

本次主要介紹下qtp的各種引數化方法和很多人在引數化時候容易犯的幾個錯誤。

  很多人最初接觸引數化的時候都是從利用datatable的Global表引數化開始的。因為那是操作實現起來最簡單的引數化,但同時也是誤導和制約大部分新手的一個枷鎖。

  順帶說一個很多新手因為這個引數化產生的問題吧:

  引數化之後,重新錄製一個Test,回放時候會執行多次(上次引數化的次數)。

    原因:引數化之後datatable的global表中的資料行沒有刪除乾淨,表現為Global表中某行的下邊框為黑色線條。

    解決:選中Global表中的行,右鍵選擇Edit—Delete,刪除改行即可。

    擴充套件:Global表中第一行的黑線是無法通過delete刪除掉的,因為qtp指令碼的迭代次數首先是根據global表和Local表來控制的,並且因為指令碼至少迭代一次,所以global表中至少要有一行資料(global表中無資料的時候,是預設有一行為空的資料的);

至於Global表和Local表的作用和優劣會在後面測試引數規劃部分介紹的。

  引數化是自動化測試中的一個非常重要的部分,也是學好自動化測試一個重中之重。下面來簡單介紹幾種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檔案的目錄結構即可實現引數的組織管理

    缺點:不能很好的響應引數值動態變化

    適用情況:引數分類較細,且每個引數檔案中的引數條目較少