繁体   English   中英

无法在Testng中的Dataprovider中发送String对象

[英]Unable to send String object in Dataprovider in testng

我试图将记事本文件中的值提供给testng中的测试方法。

我在记事本文件中有多个值,例如

uname1 pwd1 uname2 pwd2等等...

我为DataProvider方法编写了以下代码

List<String> list=FileRead.doRead(); //This is method returning list of values from txt file
String[] array=list.toArray(new String[list.size()]);
String uname=null, pwd=null;
for (int x=0; x<array.length; x++)
{
    uname=array[x];
    pwd=array[x+1];
}
Object obj[][]={{uname, pwd}};      
return obj;

我想问一下我们是否可以将字符串对象传递给Object数组? 因为我在这上面出错了。 如果可以,请告诉我。 我提到的方法也得到了ArrayIndexOutOfBounds。 我的测试方法具有以下代码

@Test(dataProvider="mydp")
public void testCase1(String uname, String pwd) throws FileNotFoundException,
IOException
{
    getLoginDetails(uname, pwd);
}

请为我提供上述解决方案

谢谢你的时间。

您不应该使用String数组。 但是,真正的问题是1D数组,而不是2D数组。 此代码会将其转换为2D数组。

Object[] arr = FileRead.doRead().toArray();
Object[][] data = new Object[arr.length/2][2];
for (int x = 0; x < arr.length; x+=2){
   data[x/2][0]=arr[x];
   data[x/2][1]=arr[x+1];
}
return data;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM