Я сталкиваюсь с проблемой, когда пытаюсь сохранить данные CSV из файла CSV в массив, используя openCSV, который будет использоваться после этого через провайдера данных для запуска теста с этими данными. У меня есть два столбца в файле CSV, например, для ex и любезно проверьте ниже CSV файл содержит значение и выводится с кодом ниже
DataFile
Testname Data
Testone Text
Testtwo Text
Testthree Text
output:
Testone
Text
testtwo
text
testthree
text
// Read CSV and save it into array method
final static List<String> list = new LinkedList<String>();
private static final String FILE = "OMSInput.csv";
public static String[] GetTestData() throws IOException {
CSVReader reader = new CSVReader(new FileReader(FILE));
String[] nextLine;
boolean headersConsumed = false;
while ((nextLine = reader.readNext()) != null) {
if (!headersConsumed) {
headersConsumed = true;
continue;
}
list.add(nextLine[0]);
//list.add(nextLine[1]);
}
final String[] Data = list.toArray(new String[list.size()]);
for (String element : Data) {
System.out.println(element);
}
return Data;
}
}
\\ data provider method
@DataProvider
public Object[] TestData() throws IOException {
Object Data[] = CSVFile.GetTestData();
return Data;
}
\\ Passing DataProvider to method
@Test(priority = 2, dependsOnMethods = "Login", dataProvider = "CPETestData")
public void Test(String Test , String modelname)
actual result: org.testng.internal.reflect.MethodMatcherException: Data provider mismatch
expected result: to pass two value to Test method using data provider like
Testone Text
testtwo text