Я использую dataprovider для чтения данных и преуспел в качестве входных данных для моего сценария селена.Я в основном добавляю системы в свое приложение.Ранее у меня было около 110 строк и 7 столбцов данных в Excel.Теперь я удалил это и добавил 1 строку и 7 столбцов данных в том же Excel, но скрипт все еще пытается добавить 110 систем.Я не понимаю, почему это происходит.
Это поставщик данных:
@DataProvider (name= "systemData")
public static Object[][] systemData() throws IOException
{
Object Data[][] = ExcelUtils.readData("D:\\Eclipse O\\Data\\addSystem\\AddSystem.xlsx", "AddSystem");
return Data;
}
}
А это excel excel
package Utility;
import java.io.File;
import java.io.FileInputStream;
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;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.Test;
public class ExcelUtils
{
WebDriver driver;
WebDriverWait wait;
static XSSFWorkbook workbook;
static XSSFSheet sheet;
static XSSFCell cell;
@Test
public static Object[][] readData(String sheetLocation, String sheetName) throws IOException
{
DataFormatter formatter = new DataFormatter();
// Import excel sheet.
File src=new File(sheetLocation);
// Load the file.
FileInputStream finput = new FileInputStream(src);
// Load the workbook.
workbook = new XSSFWorkbook(finput);
// Load the sheet in which data is stored.
sheet= workbook.getSheet(sheetName);
int RowNum = sheet.getPhysicalNumberOfRows();// count my number of Rows
System.out.println("Number of rows is " +RowNum);
int ColNum = sheet.getRow(0).getPhysicalNumberOfCells();
System.out.println("Number of columns is " +ColNum);
String Data[][]= new String[RowNum][ColNum];
for (int i = 0; i < RowNum; i++)
{
//System.out.println("First for loop entered");
XSSFRow row = sheet.getRow(i);
for (int j = 0; j < ColNum; j++)
{
//System.out.println("Second for loop entered");
if (row == null) {
Data[i][j] = "";
System.out.println("row = null entered");
}
else {
XSSFCell cell = row.getCell(j);
if (cell == null) {
Data[i][j] = "";
System.out.println("Cell = null entered");
}
else {
String value = formatter.formatCellValue(cell);
Data[i][j] = value.trim();
}
}
}
}
return Data;
}
}