Java 应为Excel中的每一行执行测试用例

Java 应为Excel中的每一行执行测试用例,java,robotframework,Java,Robotframework,我有一个场景,我必须从Excel工作表中提供测试数据,对于工作表中的每一行,测试用例都应该再次执行。我该怎么做 我已经编写了从excel工作表逐行获取值的代码 private List<String> getRowData(int sheetIndex, String fileName) { XSSFWorkbook wb; ArrayList<String> columndata = null; try { wb = new X

我有一个场景,我必须从Excel工作表中提供测试数据,对于工作表中的每一行,测试用例都应该再次执行。我该怎么做

我已经编写了从excel工作表逐行获取值的代码

private List<String> getRowData(int sheetIndex, String fileName)
{
    XSSFWorkbook wb;
    ArrayList<String> columndata = null;

    try {
        wb = new XSSFWorkbook(new FileInputStream(new File(location
                + fileName)));
    XSSFSheet sheet = wb.getSheetAt(sheetIndex);
    Iterator<Row> rowIterator = sheet.iterator();
    columndata = new ArrayList<>();
    while (rowIterator.hasNext()) {
        Row row = rowIterator.next();
        Iterator<Cell> cellIterator = row.cellIterator();
        while (cellIterator.hasNext()) {
            Cell cell = cellIterator.next();
            if (row.getRowNum() > 0) { 
                if (cell.getColumnIndex() == 0) {   
                    switch (cell.getCellType()) {
                    case Cell.CELL_TYPE_NUMERIC:
                        columndata.add(cell.getNumericCellValue() + "");
                        break;
                    case Cell.CELL_TYPE_STRING:
                        columndata.add(cell.getStringCellValue());
                        break;
                    }
                }
            }
        }
    }

} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
    return columndata;
}
private List getRowData(int-sheetIndex,字符串文件名)
{
XSSFWB;
ArrayList columndata=null;
试一试{
wb=新XSSF工作簿(新文件输入流(新文件位置
+文件名);;
XSSFSheet sheet=wb.getSheetAt(sheetIndex);
迭代器rowIterator=sheet.Iterator();
columndata=新的ArrayList();
while(roweiterator.hasNext()){
行=行迭代器。下一步();
迭代器cellIterator=row.cellIterator();
while(cellIterator.hasNext()){
Cell=cellIterator.next();
如果(row.getRowNum()>0){
如果(cell.getColumnIndex()==0){
开关(cell.getCellType()){
case Cell.Cell\u类型\u数值:
columndata.add(cell.getNumericCellValue()+);
打破
case Cell.Cell\u类型\u字符串:
add(cell.getStringCellValue());
打破
}
}
}
}
}
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
返回列数据;
}

您可以使用ApachePOI库解析excel并创建测试结果


例如,来自HSSF和XSSF功能的“忙碌开发者”指南


甚至我也没有要求密码。我只需要这个方法,标签上写着我正在使用Java并在robot框架中编写测试用例。我想我不必再提了。你怎么能说这不是一个真正的问题?我不认为我需要向你展示证据。在我看来,你的问题没有提供关于你自己已经尝试过的东西的见解。你的问题没有提供这些。@Kootstra如果我的问题不清楚,那么其他人如何回答?关键是要尝试它,我需要知道方法,我的问题是什么。清楚地看到我的问题,我只是要求解决方案,而不是编码或其他什么。由于不清楚,我将尝试准确地提问。
Workbook wb = WorkbookFactory.create(new File("xlFileAddress.xlsOrXslx"));

for (Sheet sheet : wb ) {
    for (Row row : sheet) {
        for (Cell cell : row) {
            if(cell.getCellTypeEnum().equals(CellType.STRING)) {
                executeTestCase(cell.getRichStringCellValue().getString());
                // Do something else here
            }
        }
    }
}