我正在使用下面的代码读取 CSV 文件并将对象传递给被测方法,称为 public void launchWCM1(IBLogonDataCSV data) 。
@DataProvider(name = "regCSVData")
public static Object[][] getCSVData() throws IOException {
CSVReader csvReader = new CSVReader(new FileReader(
"C:\\Projects\\Project\\regdata.csv"));
List<String[]> dataList = csvReader.readAll();
String s = "";
Object[][] data = new Object[dataList.size()][1];
List<IBLogonDataCSV> regList = new ArrayList<IBLogonDataCSV>();
for (String[] strArray : dataList) {
IBLogonDataCSV ibLogonData = new IBLogonDataCSV();
ibLogonData.setURL((strArray[0].trim()));
ibLogonData.setApplicationName((strArray[1].trim()));
ibLogonData.setIBLogonURL(strArray[2].trim());
ibLogonData.setWindowName(strArray[3].trim());
ibLogonData.setSnapshotName(strArray[4].trim());
ibLogonData.setRegister(strArray[5].trim());
ibLogonData.setRegisterURL(strArray[6].trim());
ibLogonData.setDemo(strArray[7].trim());
ibLogonData.setDemoURL(strArray[8].trim());
ibLogonData.setSecurity(strArray[9].trim());
ibLogonData.setSecurityURL(strArray[10].trim());
regList.add(ibLogonData);
}
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
data[i][j] = regList.get(i);
System.out.println("In Array" + regList.get(i).URL
+ regList.get(i).ApplicationName);
s = s + regList.get(i).URL;
}
}
csvReader.close();
return data;
}
当方法 public void launchWCM1(IBLogonDataCSV data) 通过或失败时,Testng 报告会显示对象名称,这对于了解 String 值是什么或 URL 的名称没有帮助,以便进一步调试。
示例:launchWCM1 测试类:com.seleniumtests.test.IBLogonCSV 参数:com.seleniumtests.dataobject.IBLogonDataCSV@de1b8a
应该怎么做才能将参数显示为字符串值,这可以很容易地阅读,例如:launchWCM1 测试类:com.seleniumtests.test.IBLogonCSV 参数:URL 的名称或类似名称,而不是对象名称