Я загружаю данные из файла CSV, которые имеют более 1 строки, что означает, что метод Test должен запускаться повторно до тех пор, пока не будут завершены все строки файла CSV.мой код поставщика данных находится здесь:
@DataProvider(name = "csv")
public Object[][] getCSVData() throws IOException{
CSVReader reader = new CSVReader(new FileReader(newCSVFileName));
String[] cell = null;
Hashtable<String, String> table = null;
int rowNum = 0;
int rows = 0;
while((cell = reader.readNext()) != null) {
rows++;
}
reader = new CSVReader(new FileReader(newCSVFileName));
cell = null;
Object[][] data = new Object[rows - 1][1];
int col;
boolean skipFirst = true;
while((cell = reader.readNext()) != null) {
if(skipFirst) {
skipFirst = false;
continue;
}
col = 0;
table = new Hashtable<String, String>();
table.put("Company", cell[col++]);
table.put("URL", cell[col++]);
table.put("Full Name", cell[col++]);
table.put("Designation", cell[col++]);
table.put("Phone Number", cell[col++]);
table.put("Email Address", cell[col++]);
table.put("Country", cell[col++]);
table.put("Product", cell[col++]);
table.put("Package", cell[col++]);
data[rowNum][0] = table;
rowNum++;
}
return data;
}
И мой метод тестирования здесь:
@Test(priority = 4, dependsOnMethods ="downloadList",
dataProviderClass = DataProviders.class, dataProvider = "csv")
public void installation(Hashtable<String,String> data) throws
InterruptedException, IOException {
String clientCompany = data.get("Company");
String clientUrl = data.get("URL");
String clientFullName = data.get("Full Name");
String clientDesignation = data.get("Designation");
String clientPhoneNumber = data.get("Phone Number");
String clientEmailAddress = data.get("Email Address");
String clientCountry = data.get("Country");
String clientProduct = data.get("Product");
String clientPackage = data.get("Package");
}
Этот метод тестирования выполняется перед завершением предыдущей итерации.что я должен делать?