Java+selenium 自動化測試【03】-- 數據驅動之參數化


目錄

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM