-1
@Test
    public void passTest() throws IOException {
        File src = new File("F:\\drive f\\DemoReport.xlsx");
        FileInputStream fis = new FileInputStream(src);
        XSSFWorkbook wb = new XSSFWorkbook(fis);
        XSSFSheet sheet1 = wb.getSheetAt(0);

        int rowcount = sheet1.getLastRowNum();
        for(int i=1;i<=rowcount;i++) {

            String str = sheet1.getRow(i).getCell(2).getStringCellValue();
            String str1 = sheet1.getRow(i).getCell(1).getStringCellValue();
            double j = sheet1.getRow(i).getCell(3).getNumericCellValue();
            fis.close();

            String exp1 = "Found";
            String exp2 = "Not Found";
            if(str.equals(exp1)) {
                logger=extent.createTest(str1);
                Assert.assertTrue(true);
                logger.log(Status.PASS, MarkupHelper.createLabel(str1 + " found at index " + j, ExtentColor.GREEN));
            }
            else if(str.equals(exp2)) {
                logger=extent.createTest(str1);
                Assert.assertTrue(true);
                logger.log(Status.FAIL, MarkupHelper.createLabel(str1 + "is not found", ExtentColor.RED));
            }
        }
    }

我正在使用 testNG 生成范围报告,我的 excel 文件中有一些数据,所以我现在从 excel 中获取它们,如果从 excel 中获取的字符串是“找到”,那么我的测试应该通过,否则失败,但在这段代码中它只获取excel第一行的数据。

4

1 回答 1

0

您正在关闭 for 循环内的 FileInputStream。使用fis.close(); for循环结束后。

于 2018-04-19T06:27:05.700 回答