Pls поможет мне с кодом для чтения данных из нескольких листов одного и того же файла excel с использованием кода Selenium и Java. Пожалуйста, найдите ниже код, который я пытался. Он считывает данные из последнего листа всегда. Но мне нужно прочитать данные с листа 0 на лист n.Чтение данных из нескольких листов одной и той же книги Selenium
public class HybridExecuteTest {
WebDriver webdriver = null;
@Test(dataProvider="hybridData")
public void testLogin(String testcaseName,String keyword,String objectName,String objectType,String value)
throws Exception {
if(testcaseName!=null&&testcaseName.length()!=0){
webdriver=new FirefoxDriver();
webdriver.manage().window().maximize();
}
ReadObject object = new ReadObject();
Properties allObjects = object.getObjectRepository();
UIOperation operation = new UIOperation(webdriver);
//Call perform function to perform operation on UI
operation.perform(allObjects,keyword,objectName,objectType,value);
}
@SuppressWarnings("null")
@DataProvider(name="hybridData")
public Object[][] get() throws IOException
{
Object[][] object = null;
String filePath = System.getProperty("user.dir")+"\\";
System.out.println("File Path is:" + filePath);
String fileName = "TestCaseRep.xls";
//Create a object of File class to open xlsx file
File file = new File(filePath+"\\"+fileName);
//Create an object of FileInputStream class to read excel file
FileInputStream inputStream = new FileInputStream(file);
int totalSheet = 0;
Sheet Sheet1=null;
Workbook Workbookone = null;
//Find the file extension by spliting file name in substing and getting only extension name
String fileExtensionName = fileName.substring(fileName.indexOf("."));
//Check condition if the file is xlsx file
if(fileExtensionName.equals(".xlsx")){
//If it is xlsx file then create object of XSSFWorkbook class
Workbookone = new XSSFWorkbook(inputStream);
}
//Check condition if the file is xls file
else if(fileExtensionName.equals(".xls")){
//If it is xls file then create object of XSSFWorkbook class
Workbookone = new HSSFWorkbook(inputStream);
}
//Read sheet inside the workbook by its name
totalSheet = Workbookone.getNumberOfSheets();
if(totalSheet > 0) {
System.out.println("Total Sheet Found:" + totalSheet);
for(int k=0;k<totalSheet ;k++) {
System.out.println("Sheet Name:" + Workbookone.getSheetName(k));
Sheet1 = Workbookone.getSheetAt(k);
System.out.println("Sheet Found:" + Sheet1);
//Find number of rows in excel file
int rowCount = Sheet1.getLastRowNum()-Sheet1.getFirstRowNum();
object = new Object[rowCount][5];
for (int i = 0; i < rowCount; i++) {
//Loop over all the rows
Row row = Sheet1.getRow(i+1);
//Create a loop to print cell values in a row
for (int j = 0; j < row.getLastCellNum(); j++) {
//Print excel data in console
object[i][j] = row.getCell(j).toString();
System.out.println(object[i][j]);
}
}
System.out.println("");
}
}
return object;
}
}
Вам необходимо показать свой код, который вы пробовали, чтобы получить справку. – SteveFerg
Я дал код выше. Помогите мне .. –
Вы уверены, что 'System.out.println (« Имя листа: »+ Workbookone.getSheetName (k));' печатает правильные значения – Madhan