2017-05-22 29 views
0

Ich versuche, Daten aus Excel zu lesen, die in ihm nur eine Spalte mit drei Zeilen enthälttestng: Datenprovider: Fehler: [email protected]

ID A1002 B1003 C1004

I verwende Datenprovider in Testng, um das gleiche zu erreichen. Aber auf dem Objekt Array 2D-Rückkehr, erhalte ich [email protected] Fehler

@DataProvider(name = "getLoginData") 
    public Object[][] LoginData() throws Exception 
{ 
    Workbook workbook = null; 
    ArrayList<String> values = new ArrayList<String>(); 

    FileInputStream ExcelFile = new FileInputStream(Path_TestData); 
     ExcelWBook = new XSSFWorkbook(ExcelFile); 
     ExcelWSheet = ExcelWBook.getSheet(Home.sheetname); 
     int rows = ExcelWSheet.getPhysicalNumberOfRows(); 
     System.out.println("Rows is" +rows); 
     for(int i=1; i<rows; i++) 
     { 
      XSSFRow row = ExcelWSheet.getRow(i); 
      values.add(row.getCell(0).getStringCellValue()); 
     } 
     System.out.println("value size is" +values.size()); 
     Object[][] returnValue = new Object[10][10]; 

     for(i=0; i<values.size();i++) 
     { 

      returnValue[i][0] = values.get(i); 

     } 
       return returnValue; 

} 

@Test(dataProvider="getLoginData") 
    public void LoginData(String ID) 
    { 

      driver.findElement(By.xpath("//*[text()='select']")).click(); 
     //clicking on the ID selected in dropdown   
      driver.findElement(By.xpath("//*[text()=ID]")).click(); 
    } 
+0

Welche Gläser sind Sie mit Apache POI oder JExcel? – DebanjanB

+0

@Dev: XSSFWorkbook (ExcelFile) bedeutet POI. – kushal

+0

@ kushal. Können Sie den Dateityp aktualisieren, den Sie verwenden (.xls) oder (.xlsx)? Danke – DebanjanB

Antwort

0

Versuchen folgenden Code, ich habe hier einige Anpassungen vorgenommen und dort:

@DataProvider(name = "getLoginData") 
    public static Object[][] LoginData() throws Exception 
    { 
    XSSFWorkbook ExcelWBook = null; 
    ArrayList<String> values = new ArrayList<String>(); 

    FileInputStream ExcelFile = new FileInputStream("C:\\Users\\kushal bhalaik\\Desktop\\K1.xlsx"); 
    ExcelWBook = new XSSFWorkbook(ExcelFile); 
    XSSFSheet ExcelWSheet = ExcelWBook.getSheet("Sheet1"); 
    int rows = ExcelWSheet.getPhysicalNumberOfRows(); 
    System.out.println("Rows is" +rows); 
    for(int i=1; i<rows; i++) 
    { 
     XSSFRow row = ExcelWSheet.getRow(i); 
     values.add(row.getCell(0).getStringCellValue()); 
    } 
    System.out.println("value size is" +values.size()); 
    Object[][] returnValue = new Object[15][15]; 

    for(int i=0; i<values.size();i++) 
    { 

     returnValue[i][0] = values.get(i); 

     //System.out.println(returnValue[i][0]); 

    } 
    return returnValue; 

} 
Verwandte Themen