目錄
1.前言
2.讀取txt檔案實作參數化
3.使用Excel表格參數化
4.使用TestNG.xml檔案參數化
5.使用@DataProvider傳參
前言
在上一個随筆中,我們已經自動化測試模型,講到資料驅動模型。
資料驅動:是自動化的一個進步,從本意來講,資料的改變(更新)驅動自動化的執行,進而引起結果改變。相當于把測試資料進行參數化,輸入資料的不同進而引起輸出結果的變化。
一、讀取txt檔案實作參數化
準備測試資料:在項目目錄下建立一個檔案test.txt,内容為三行
用隻讀的方式打開test.txt,oneline擷取一行的資料,如果在txt裡面有中文,會出現亂紀,修改檔案編碼為utf-8,使用utf-8 格式讀取
二、使用Excel表格參數化
當同時使用多個參數的時候,使用之前提供的方式就不太友善,比如,要參數化一個系統資料庫單,表單需要填寫的資訊有使用者名,密碼,年齡,郵箱等,這個時候可以通過表格表單來解決該問題。
1、建立userinfo.xls檔案,如下圖
2、利用java第三方工具包poi工具讀取execl
3、讀取後給testNG提供測試資料
使用函數進行參數化:
函數可以預先給參數化指派,借助這個特性,可以通過函數調用的方式進行參數化。
說明:因為後面會詳細講解poi工具讀取Excel中的測試資料,本處暫時不講解
三、使用TestNG.xml檔案參數化
把配置資料寫入 TestNG的配置檔案TestNG.xml中的parameter節點中,例如下圖把url網址。
讀取資料:編寫testNG測試用例的時候,通過注解@Parameters("參數名") 讀取。例如:@Parameters("url"),然後給後面方法的入參
四、使用@DataProvider傳參
@DataProvider方式傳參數:
- 隻提供了一個字元串屬性:名稱,供測試方法作為傳遞參數的annotation使用
- 兩種DataProvider,一種是傳回一個二維數組對象;另外一種DataProvider是傳回一個Iterator
- DataProvider可以向測試方法傳遞任意類型任意數目的參數
- 利用DataProvider提供不同的參數集合對一個測試方法進行多次調用
如下圖:1. @DataProvider 中準備測試資料
2. 編寫測試用例的時候,通過@Test(dataProvider="test1")來調用
@DataProvider和testNG.xml兩種方式的比較