Я пытаюсь сделать данные, управляемые с помощью junit 4 с файлом Excel, моя задача - читать строку за строкой и проверять, как использовать имя и пароль один за другим, и использовать assert, чтобы узнать, правильно ли указаны имя пользователя и парольпройти тест и, если не получилось, получить ошибку, я сделал код функции, чтобы получить имя пользователя и пройти, но я не знаю, как передать каждую строку из файла excel в тест и получить проход ||не удалось .. добавив мой код для чтения Excel и тестовый класс, этот для чтения имени пользователя и передачи из файла Excel
public static String[][] readExcelFile() throws EncryptedDocumentException, InvalidFormatException, IOException {
Workbook workbook = WorkbookFactory.create(new File(SAMPLE_XLSX_FILE_PATH));
Sheet sheet = workbook.getSheetAt(0);
int rowCount = sheet.getLastRowNum();
String [][]namePass = new String [rowCount][2];
for (int i = 0; i < rowCount; i++) {
Row row = sheet.getRow(i);
for (int j = 0; j < row.getLastCellNum() ; j++) {
namePass[i][j] =""+row.getCell(j);
}
}
for (int i = 0; i < namePass.length; i++) {
System.out.println(Arrays.toString(namePass[i]));
}
workbook.close();
return namePass;
}
вот тестовый класс с функцией для чтения
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Enumeration;
import java.util.Properties;
import org.apache.poi.EncryptedDocumentException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
@RunWith(Parameterized.class)
public class paramTest
{
final static String dataFile = "C:\\Users\\david\\Desktop\\test.txt";
private String words;
public paramTest(String words)
{
this.words = words;
}
@Test
public void verifyThing() throws Exception
{
System.out.println("key: " + words);
}
@Parameters
public static String[][] readExcelFile() throws EncryptedDocumentException, InvalidFormatException, IOException {
Workbook workbook = WorkbookFactory.create(new File(SAMPLE_XLSX_FILE_PATH));
Sheet sheet = workbook.getSheetAt(0);
int rowCount = sheet.getLastRowNum();
String [][]namePass = new String [rowCount][2];
for (int i = 0; i < rowCount; i++) {
Row row = sheet.getRow(i);
for (int j = 0; j < row.getLastCellNum() ; j++) {
namePass[i][j] =""+row.getCell(j);
}
}
for (int i = 0; i < namePass.length; i++) {
System.out.println(Arrays.toString(namePass[i]));
}
workbook.close();
return namePass;
}
}