1

Я хочу прочитать excel и получить 10 записей за раз и объединить их с помощью поставщика данных в веб-драйвере селена и testNG. Например, лист Excel имеет два столбца, то есть col 1, col 2 и 10 строк. Теперь я хочу передать полученный результат из excel как значение в текстовое поле, используя веб-драйвер selenium i.e, «A, B, C, D, E, F, G, H, J, I» в качестве значения. Здесь row1 col1 содержит «A», а строка 1 col 2 содержит «,». Точно так же, как и для остальных строк и столбцов. Можете ли вы предоставить мне код для этой логики.Как читать excel и извлекать несколько значений и объединять их с помощью поставщика данных в веб-драйвере селена и testNG

+1

Вы можете использовать библиотеку Apache POI для извлечения записей. До тех пор, пока вы не попробуете что-нибудь самостоятельно, мы не сможем вам помочь. вы также можете получить блоки кода над Google. попробуйте выполнить поиск. –

+0

@ Mrunal & Nilesh .. Я пробовал эту вещь, используя apache-библиотеку POI раньше, и я просто думал, что если кто-то уже создал логику для вышеуказанной проблемы, но никаких проблем, я сам создал логику. Спасибо за ваш ответ , –

ответ

0
read and write data from excel 
import java.io.FileInputStream; 
    import java.io.FileNotFoundException; 
    import java.io.FileOutputStream; 
    import java.io.IOException; 

    import org.apache.poi.xssf.usermodel.XSSFCell; 
    import org.apache.poi.xssf.usermodel.XSSFRow; 
    import org.apache.poi.xssf.usermodel.XSSFSheet; 
    import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

    public class ExcelReader { 
     public FileInputStream fis = null; 
     public FileOutputStream fout = null; 
     private XSSFWorkbook workbook = null; 
     private XSSFSheet sheet = null; 
     private XSSFRow row = null; 
     private XSSFCell cell = null; 
     String path = null; 

     public ExcelReader() throws IOException { 
      path = System.getProperty("user.dir") + "\\testdata\\testdata.xlsx"; 
      fis = new FileInputStream(path);//FileInputStream is used to read excel. 
      workbook = new XSSFWorkbook(fis);//workbook is excel file include multiple sheet 
      sheet = workbook.getSheetAt(0);//focusing on particular sheet in workbook. 
     } 
    //get number of rows in selected sheet. 
     public int getSheetRows(String sheetName) { 
      int index = workbook.getSheetIndex(sheetName); 
      workbook.getSheetAt(index); 
      return (sheet.getLastRowNum() + 1); 
     } 
    //get number of columns in selected sheet 
     public int getSheetColumn(String sheetName) { 
      int index = workbook.getSheetIndex(sheetName); 
      workbook.getSheetAt(index); 
      row = sheet.getRow(0); 
      return (row.getLastCellNum()); 
     } 
    //get the values in cell by using sheet name and row number and column number 
     public String getCellData(String sheetName, int rowNum, int colNum) { 
      int index = workbook.getSheetIndex(sheetName); 
      sheet = workbook.getSheetAt(index); 
      row = sheet.getRow(rowNum); 
      cell = row.getCell(colNum); 
      return (cell.getStringCellValue()); 
     } 
    //get the values form cell by using the sheetname and row number and column name 
     public String getCellData(String sheetName, int rowNum, String ColName) { 
      int CellNum = -1; 
      int index = workbook.getSheetIndex(sheetName); 
      sheet = workbook.getSheetAt(index); 

      for (int i = 0; i < getSheetColumn(sheetName); i++) { 
       row = sheet.getRow(0); 
       cell = row.getCell(i); 
       if (cell.getStringCellValue().equals(ColName)) { 
        CellNum = cell.getColumnIndex(); 
        break; 
       } 
      } 
      row = sheet.getRow(rowNum); 
      cell = row.getCell(CellNum); 
      return (cell.getStringCellValue()); 

     } 
    //write the data into sheet. 
     public void setData(String sheetName, int ColNum, int rowNum, String str) { 
      int index = workbook.getSheetIndex(sheetName); 
      sheet = workbook.getSheetAt(index); 

      row = sheet.getRow(rowNum); 
      cell = row.createCell(ColNum); 
      cell.setCellValue(str); 

      try { 
       fout = new FileOutputStream(path); 

       try { 
        workbook.write(fout); 
        fout.close(); 
       } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
      } catch (FileNotFoundException e1) { 
       // TODO Auto-generated catch block 
       e1.printStackTrace(); 
      } 

     } 

     public static void main(String[] args) throws IOException { 
      ExcelReader reader = new ExcelReader(); 

       System.out.println(reader.getSheetRows("LoginTest")); 
       System.out.println(reader.getSheetColumn("LoginTest")); 
       System.out.println(reader.getSheetRows("SignUPTest")); 
       System.out.println(reader.getSheetColumn("SignUpTest")); 
       System.out.println(reader.getCellData("LoginTest", 1, 0)); 
      System.out.println(reader.getCellData("LoginTest", 2, "password")); 
      reader.setData("LoginTest", 1, 1, "Hello"); 
     } 
    } 
Смежные вопросы