如何迭代直到对象数组的长度?

时间:2013-04-11 10:45:16

标签: java webdriver testng

我正在使用“delnames”对象数组来创建这些动物园项目,而在另一种方法中我想删除它们。创建需要单独的方法,但删除不,只需单击删除即可。所以我想在同一个dataprovider对象数组上迭代它 这是我想要实现的目标;我正在使用java在ubuntu上编写我的脚本。

@DataProvider(name = "delnames")
    public Object[][] dnames() {
        return new Object[][] { { "zoo" }, { "owl" }, { "lion"}, 
                      { "Peacock" }, { "Chimp" }, { "Fish" }, {"Duck"} };
    }

@Test(dataProvider = "delnames")
public void delete(String name1){
for (lenth of dnames){ ================ >> HOW ?????
driver.findElement(By.linkText("delete"));
syso(name1+" is deleted");
}
}

3 个答案:

答案 0 :(得分:1)

如果是ArrayList或Vector:

for (int i = 0; i < dnames.size(); i++) {
    ...
}

如果是数组:

for (int i = 0; i < dnames.length; i++) {
    ...
}

答案 1 :(得分:0)

我认为你可以使用选择一维数组,而不是二维数组。

Object dnames [] = new Object[]{"owl","zoo","Chimp","Fish","Duck"};

我们可以按如下方式遍历一维数组

for(Object item: dnames)
{
System.out.println(item); // do your stuff here with item  
}

答案 2 :(得分:0)

@Test(dataProvider = "delnames")
public void delete(String name1){
  for (Object[] params : dnames()) {
    for (Object o : params) {
      ...
    }
  }
}

显然,你不想在测试方法中这样做,因为dnames()是它的数据提供者,但我假设你只是把它作为一个例子。