2017-05-22 7 views
0

내가 그것을TestNG의 : dataProvider의 : 오류 :

ID A1002 B1003 C1004

I에서 세 개의 행과 하나 개의 열을 포함 엑셀에서 데이터를 읽기 위해 노력하고 [email protected] Testng에서 dataprovider를 사용하여 동일한 결과를 얻습니다. 그러나 2D 개체 배열을 반환에, 나는 다음 코드 [email protected] 오류를

@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

어떤 항아리를하다 Apache POI 또는 JExcel을 사용하고 있습니까? – DebanjanB

+0

@Dev : XSSFWorkbook (ExcelFile)은 POI를 의미합니다. – kushal

+0

@kushal. 어떤 파일 형식 (.xls) 또는 (.xlsx)를 사용하고 있습니까? 감사합니다 – DebanjanB

답변

0

시도를 얻고, 내가 여기 저기 몇 가지 조정을했습니다

@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; 

} 
관련 문제