После выполнения тестового примера с несколькими параметрами я передаю результат (Pass / Fail) в таблицу Excel. есть 6 строк, в которых 1-й результат неудачи входит во все 6 строк (он должен входить только в 1-ю строку), 2-й проход результата начинается с 1-й строки и входит во все 6 строк
Получение кода данных
public static Object[][] getData() throws IOException{
int rowCount = ExcelUtil.getRowCount();
int colCount = ExcelUtil.getColumnCount();
Object[][] data = new Object[rowCount-1][colCount];
for(int i=1; i<rowCount; i++)
{
for(int j=0; j<colCount; j++)
{
//Check cell is empty or not
if (data[i-1][j] == null) {
data[i-1][j] = "";
}
//change values to string
data[i-1][j] = ExcelUtil.setCellDataToString(i, j);
}
}
return data;
}
Контрольный пример
public static void signIn(String email, String password, String result) throws IOException, InterruptedException {
LoginPage lp = PageFactory.initElements(driver, LoginPage.class);
driver.navigate().to(loginUrl);
lp.email().sendKeys(email);
lp.password().sendKeys(password);
lp.submitlogin().click();
//Verify
String expectedUrl = "http://automationpractice.com/index.php?controller=my-account";
String actualUrl = driver.getCurrentUrl();
String loginmessage;
if (expectedUrl.equalsIgnoreCase(actualUrl)) {
loginmessage = "pass";
lp.logout().click();
}else {
loginmessage ="fail";
}
ExcelUtil.writeIntoExcel(filePath, loginmessage);
}
Запись в Excel
public static void writeIntoExcel(String FilePath, String dataToWrite) throws IOException {
int rowCount = ExcelUtil.getRowCount();
int colCount = ExcelUtil.getColumnCount();
try {
for (int i = 1; i <= rowCount; i++) {
shFile.getRow(i).createCell(colCount-1).setCellValue(dataToWrite);
fileOut = new FileOutputStream(filePath);
wbFile.write(fileOut);
}
fileOut.close();
} catch (Exception e) {
System.out.println("Data is not entered into excel");
}
}