数据提供程序

时间:2015-06-22 09:10:29

标签: java excel selenium automation

我想使用多列excelsheet并将其作为参数传递给Java Method。但是,由于我使用了数据提供程序,因此不允许添加2个以上的参数。现在还有其他方法,通过它我可以有多个参数,或者我可以将它作为对象传递。我想从定义为列的工作表中填充多个数据。它抛出错误,例如“数据提供者试图传递5个参数,但方法com.indracarelis.testscript.admin.NewOrder#CreateNewOrder需要2”。它用于方法的两个参数是什么?

1 个答案:

答案 0 :(得分:0)

我假设您已经编写了在@DataProvider

中从Excel中获取数据的代码

您可以创建包含该对的HashMap并将其传递给测试。 Psuedo代码如下:

@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
}