我们可以在硒的各种测试用例中使用通用的数据提供方法吗?我可以将excel路径和工作表名称传递给公共数据提供者吗?

时间:2018-02-23 06:43:24

标签: selenium testng dataprovider

我有多个测试用例命名为classAtest1,classAtest2,classAtest1等 现在,我正在做每一个班级,我必须分别编写数据提供者方法 但我想只编写一个数据提供程序方法,我可以通过传递excel,路径和工作表名称将它与所有类一起使用

**@DataProvider(name="getData")** // supplying data for a test method.
public Object[][] getData() throws IOException 
{
        FileInputStream fis = new FileInputStream("**Z:\\MAANTTIANS\\folder\\Excel Sheets\\QestionBank.xlsx**"); // Your .xlsx file name along with path
        excelWorkbook = new XSSFWorkbook(fis);
        // Read sheet inside the workbook by its name
        excelSheet = excelWorkbook.getSheet("**MTFQuestion**"); //Your sheet name
        // Find number of rows in excel file
        System.out.println("First Row Number/index:"+ excelSheet.getFirstRowNum() + " *** Last Row Number/index:"+ excelSheet.getLastRowNum());
        int rowCount = excelSheet.getLastRowNum() - excelSheet.getFirstRowNum()+1;
        int colCount = excelSheet.getRow(0).getLastCellNum();
        System.out.println("Row Count is: " + rowCount+ " *** Column count is: " + colCount);
        Object data[][] = new Object[rowCount-1][colCount];
        for (int rNum = 2; rNum <= rowCount; rNum++) 
        {
            for (int cNum = 0; cNum < colCount; cNum++) 
            {
                data[rNum - 2][cNum] = getCellData("MTFQuestion", cNum, rNum); //Your sheet name

            }
            System.out.println();

        }
        return data; 
    }
}

1 个答案:

答案 0 :(得分:0)

是的,我们可以使用。 您可以将DataProvider名称传递给每个@Test方法,TestNG将按字母顺序执行每个测试用例。

相关问题