首页 > 解决方案 > 如何在单一测试方法中使用多个数据提供者

问题描述

测试场景是 - 我有一张带有多张工作表的 excel 工作表。我必须在一种测试方法中使用多个工作表数据。我已经创建了多个数据生成器,但不知道如何在同一个测试方法中使用多个数据生成器。

数据生成器如下:

@DataProvider(name = "Excel")
public static Object[][] testDataGenerator()
        throws Exception {
    ExcelHelper excelManager = new ExcelHelper();
    List<HashMap<String, String>> dataFromFile = excelManager.readSheet(
            TEST_DATA,"Automation");

    Object[][] data = new Object[dataFromFile.size()][1];
    for (int i = 0; i < data.length; i++) {
        data[i][0] = dataFromFile.get(i);
    }       

    return data;
}
@DataProvider(name = "Excel1")
    public static Object[][] testDataGenerator1()
            throws Exception {    
        ExcelHelper excelManager = new ExcelHelper();
        List<HashMap<String, String>> dataFromFile = excelManager.readSheet(
                TEST_DATA,"Automation1");    
        Object[][] data = new Object[dataFromFile.size()][1];
        for (int i = 0; i < data.length; i++) {
            data[i][0] = dataFromFile.get(i);
        }       

        return data;
    }

测试方法如下:

  @Test(dataProvider = "Excel", dataProviderClass = DataGenerators.class, priority = 0)
    public void sampleTest(HashMap<String, String> testData){
xyz
}

标签: javaseleniumtestng

解决方案


推荐阅读