Как исправить java.lang.indexoutofboundsexception : недопустимый диапазон массивов: от 1 до 1
Он жалуется с таблицей данных, он не может найти
Что я уже пробовал:
<pre>package Testcases; import Base.Page; import Listeners.ExtentReport; import Pages.Actions.BursaryRegister; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; import java.io.IOException; public class BursaryTest { ExtentReport extentReport = new ExtentReport(); @DataProvider(name = "ReadData") public Object[][] ReadData() throws IOException { Utilities.DataProvider.ReadData(); return Utilities.DataProvider.ReadData(); } @Test(dataProvider = "ReadData") public void bursaryTest (String Name, String Surname, String Email, String ID, String CellNumber, String Test_Case_Description, String Expected_Results) { /*Defining Test Case Scenario*/ extentReport.start(Test_Case_Description); Page.initConfiguration(); /*Calling the object to access everything*/ try { BursaryRegister bursaryLogin = new BursaryRegister(); bursaryLogin.login(Name, Surname,Email,ID,CellNumber); } catch (Exception e) { extentReport.failure("Failed To Login"); throw new AssertionError("Failed To Login"); } extentReport.success("Logged in successfully "); Page.quitBrowser(); } }
package Utilities; import Base.Constants; import org.apache.poi.ss.usermodel.DataFormatter; 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; import java.io.FileInputStream; import java.io.IOException; public class DataProvider { public static XSSFWorkbook workbook; public static XSSFSheet worksheet; public static DataFormatter formatter = new DataFormatter(); public String Res; WriteExcelData.Write obj1 = new WriteExcelData.Write(); public int DataSet = -1; String ColName = "Pass/Fail"; int col_num; @org.testng.annotations.DataProvider public static Object[][] ReadData() throws IOException { FileInputStream fileInputStream = new FileInputStream(Constants.excelPath); //Excel sheet file location get mentioned here workbook = new XSSFWorkbook(fileInputStream); //get my workbook worksheet = workbook.getSheet(Constants.DATA_SHEET);// get my sheet from workbook XSSFRow Row = worksheet.getRow(0); //get my Row which start fro // m 0 int RowNum = worksheet.getPhysicalNumberOfRows();// count my number of Rows int ColNum = Row.getLastCellNum(); // get last ColNum Object Data[][] = new Object[RowNum-1][ColNum]; // pass my count data in array, System.out.println("Number of rows" +RowNum); for (int i = Constants.start; i <=Constants.end; i++) //Loop work for Rows, try { { XSSFRow row = worksheet.getRow(i+1);//remember to change this back to 1 for (int j = 0; j < ColNum-1; j++) //Loop work for colNum { if (row == null) Data[i][j] = ""; else { XSSFCell cell = row.getCell(j); if (cell == null) Data[i][j] = ""; //if it get Null value it pass no data else { String value = formatter.formatCellValue(cell); Data[i][j] = value; //This formatter get my all values as string i.e integer, float all type data value } } } } } catch (Exception e) { e.printStackTrace(); } return Data; } }
Patrice T
Полное сообщение об ошибке также сообщает вам положение ошибки.
Это помогает найти то, что неправильно.
Richard MacCutchan
В какой строке, каков полный текст сообщения об ошибке? Пожалуйста, предоставьте надлежащую информацию о вашей проблеме.