我试图将记事本文件中的值提供给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);
}
请为我提供上述解决方案
感谢您的时间。
答案 0 :(得分:1)
您不应该使用String数组。然而,真正的问题是它是一维数组,而不是二维数组。此代码将其转换为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;