我有一個需求,即在一個文件夾中維護多個文件,並且我的dataprovider方法將讀取一組文件並構造最終的對象數組以返回。我的方法看起來如下,但它只讀取一個文件事件,即使我遍歷所有文件。有誰能告訴我如何解決這個問題嗎?如何從testng中的多個文件中提供數據提供者
public Object[][] getTestCaseInformationFromFile() throws Exception{
String testDataFile=mdfUtil.readFileAsString("TestDataFilesConfiguration.xml");
//retrieving directory path
String directoryPath=mdfUtil.getPostId("testData/directoryPath", testDataFile);
//retrieving file names
ArrayList al=mdfUtil.getAssociatedIDs("testData/file", testDataFile);
Object[][] data = null;
for(int i=0;i<al.size();i++){
csvFile=directoryPath+al.get(i);
System.out.println("csvFile-===="+csvFile);
log.info("Loading data provider TestCaseInformation...");
ArrayList<ArrayList<String>> lines=readCSVFile(csvFile);
int testSize = lines.size();
log.info("Test file has {} tests contained within it." ,testSize);
data = new Object[testSize][3];
for (int k=0;k<lines.size();k++) {
ArrayList line=lines.get(k);
System.out.println("K values is "+k);
List testData=new ArrayList();
List validationData=new ArrayList();
testData=line.subList(line.indexOf("IDS")+1,line.indexOf("IDE"));
validationData=line.subList(line.indexOf("VDS")+1,line.indexOf("VDE"));
System.out.println("testData is==="+testData);
String testCaseName=(String)testData.get(4);
data[k][0]=testCaseName;
data[k][1]=testData;
data[k][2]=validationData;
}
}
System.out.println("data lenght is="+data.length);
return data;
}
這裏是我的代碼 –
哪裏是你的代碼? –
在問題 –