目錄
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兩種方式的比較