【问题标题】:Java Parameter issue for Data Provider数据提供者的 Java 参数问题
【发布时间】:2015-09-07 16:12:30
【问题描述】:

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

【问题讨论】:

    标签: java excel selenium automation


    【解决方案1】:

    我假设您已经在@DataProvider 中编写了用于从 Excel 中获取数据的代码

    您可以创建一个包含该对的 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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-21
      • 1970-01-01
      • 1970-01-01
      • 2017-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-20
      相关资源
      最近更新 更多