2015-06-22 46 views
1

我想使用多列excelsheet並將其作爲參數傳遞給Java方法。但它不允許添加超過2個參數,因爲我使用的數據提供程序。現在有任何其他方式,通過它我可以有多個參數,或者我可以將它作爲一個對象傳遞。我想從表中定義爲列填充多個數據。它引發錯誤,如「數據提供者試圖傳遞5個參數,但方法com.indracarelis.testscript.admin.NewOrder#CreateNewOrder需要2」。哪個是它用於方法的兩個參數?數據提供程序的Java參數問題

回答

0

我假設你寫的代碼獲取從Excel中的數據@DataProvider

您可以創建包含對一個HashMap和通過它的考驗。僞代碼如下:

@DataProvider(name ="abc") 
public static Object[][] getData() { 
    //code to read excel file goes here 
    HashMap<String, String> data = new HashMap(); 

    data.put("Column1","data1"); 
    data.put("Column2","data2"); 
    data.put("Column3","data3"); 
    return new Object[] {data}; 
} 

@Test(dataProvider="abc", dataProviderClass=TestClass.class) 
public void test(HashMap<String, String> data) { 
    //use data here 
} 
+1

謝謝...它的工作.. –

+0

@upasanavyas,請接受答案 – Sighil