Java TestNg在数据输入提供程序为CSV文件时打印参数值

Java TestNg在数据输入提供程序为CSV文件时打印参数值,java,csv,selenium,selenium-webdriver,testng,Java,Csv,Selenium,Selenium Webdriver,Testng,我使用下面的代码读取一个CSV文件,并将对象传递给被测方法public void launchWCM1(iblogonadacsv data) @DataProvider(name=“regCSVData”) 公共静态对象[][]getCSVData()引发IOException{ CSVReader CSVReader=新的CSVReader(新文件读取器( “C:\\Projects\\Project\\regdata.csv”); List dataList=csvReader.readA

我使用下面的代码读取一个CSV文件,并将对象传递给被测方法public void launchWCM1(iblogonadacsv data)

@DataProvider(name=“regCSVData”)
公共静态对象[][]getCSVData()引发IOException{
CSVReader CSVReader=新的CSVReader(新文件读取器(
“C:\\Projects\\Project\\regdata.csv”);
List dataList=csvReader.readAll();
字符串s=“”;
Object[][]data=新对象[dataList.size()][1];
List regList=new ArrayList();
对于(字符串[]字符串:数据列表){
iblogonadacsv iblogonanda=新的iblogonadacsv();
setURL((strArray[0].trim());
iblogonanda.setApplicationName((strArray[1].trim());
setIBLogonURL(strArray[2].trim());
setWindowName(strArray[3].trim());
setSnapshotName(strArray[4].trim());
setRegister(strArray[5].trim());
setRegisterURL(strArray[6].trim());
setDemo(strArray[7].trim());
setDemoURL(strArray[8].trim());
设置安全性(strArray[9].trim());
iblogonda.setSecurityURL(strArray[10].trim());
regList.add(iblogonanda);
}
对于(int i=0;i
当方法public void launchWCM1(iblogonadacsv data)通过或失败时,Testng报告将显示对象名称,这对了解字符串值或URL名称没有帮助,因此无法进一步调试

示例:launchWCM1 测试类:com.seleniumtests.Test.IBLogonCSV 参数:com.seleniumtests.dataobject。IBLogonDataCSV@de1b8a

应如何将中的参数显示为字符串值,这将很容易读取,如: 启动WCM1 测试类:com.seleniumtests.Test.IBLogonCSV
参数:URL的名称或类似的名称,而不是对象名称

您可以重写
toString()
,并实现它以返回类的可读有意义的值

@Override
public String toString(){
 String valueToReturn = "calculate from the properties";
 return valueToReturn;
}

另一种方法是,TestNG的第三方扩展很少,您可以利用可用的。例如,QAF提供了XML/CSV/Excel/Json/DB格式。

请尝试定义您的自定义com.seleniumtests.dataobject.iblogonadacsv.toString(),谢谢patrungel。尝试了这个方法,效果很好。
@Override
public String toString(){
 String valueToReturn = "calculate from the properties";
 return valueToReturn;
}