我有多个测试用例命名为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;
}
}
答案 0 :(得分:0)
是的,我们可以使用。
您可以将DataProvider
名称传递给每个@Test方法,TestNG将按字母顺序执行每个测试用例。