0

我试图将记事本文件中的值提供给 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;

我想问我们是否可以将字符串对象传递给对象数组?因为我在上面出错了。如果是的话,你能告诉我。同样通过我提到的方法,我得到了 ArrayIndexOutOfBounds。我的测试方法有以下代码

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

请为我提供上述解决方案

谢谢你的时间。

4

1 回答 1

1

您不应该使用字符串数组。然而,真正的问题是一维数组,而不是二维数组。此代码会将其转换为二维数组。

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;
于 2013-10-29T13:40:51.473 回答