我有多个测试案例命名为classAtest1,classatest2,classAtest1等现在,我正在上每个班级,我都必须编编写数据提供商方法但是我只想写一个数据提供商方法,我能够通过Excel,Path和Sheet Name
将其与所有类一起使用**@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;
}
}
是的,我们可以使用。您可以将DataProvider
名称传递给每个@Test方法,TestNG将使用字母顺序执行每个测试用例。