我已经创建了一个10行×10列的excel。我希望dataprovider只返回那些在相应列中具有值“Y”的行。这将在执行测试套件和测试用例时使用将被执行的标记为“Y”。
需要你的帮助。
提前致谢。
请在下面找到我的代码: ......................................
@Test(dataProvider = "testdata")
public void Create(String TC_ID, String TC_Name, String Username, String Password, String aaa, String bbb, String ccc, String ddd, String eee, String fff, String ggg, String hhh, String iii, String jjj, String kkk, String lll) throws InterruptedException {
if (lll.equals("Y")) {
} else {
System.out.println("Testcases not flagged for Automation.." + "......." + TC_ID + "...." + TC_Name);
throw new SkipException("...Skipped....");
}
}
// @AfterMethod
//
// public void tearDown() {
// driver.quit();
// }
@DataProvider(name = "testdata")
public String[][] readExcel() throws BiffException, IOException {
File f = new File("C:/Test input/Test.xls");
Workbook wb = Workbook.getWorkbook(f);
Sheet s = wb.getSheet("Sheet1");
int rows = s.getRows();
int columns = s.getColumns();
// System.out.println(rows);
// System.out.println(columns);
String inputData[][] = new String[rows - 1][columns];
for (int i = 1; i < rows; i++) {
for (int j = 0; j < columns; j++) {
Cell c = s.getCell(j, i);
inputData[i - 1][j] = c.getContents();
}
}
return inputData;
}
}
...................................... 我想在我的excel测试数据中添加一个列,其中将提到标志(Y / N)。只会执行Y标记的测试用例。 但是在我的代码中,Y标记的tcases正在被执行而其他的被跳过,那些跳过的测试用例也被添加到我不想要的testng报告中。
有人可以帮我吗?
答案 0 :(得分:0)
您可以更新DataProvider本身的代码,而不是这样做,它应该只返回最后一列中有Y的列。 这将有所帮助,您将无法在测试报告中找到它们。