如何迭代到对象数组的长度?
我正在使用“delnames”对象数组来创建这些动物园项目和另一种方法,我想删除它们。创建需要为每个单独的方法,但删除不,只需点击删除将做。所以我想在同一个数据提供者对象数组上迭代它。
这是我想要实现的;我正在使用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");
}
}
如果它是一个ArrayList或载体:
for (int i = 0; i < dnames.size(); i++) {
...
}
如果它是一个数组:不是二维数组
for (int i = 0; i < dnames.length; i++) {
...
}
@jampI已经尝试了你给我的东西。我尝试了**(int i = 0; i
} **,但它只提取数组中的第一项。我想借助数组删除数组中的所有这7个项目。 –
user2172723
2013-04-11 11:01:32
你想删除数组本身还是清空数组? – 2013-04-11 11:16:41
不是数组:)。该项目来自我的应用程序。我已经创建了几个项目,现在我必须删除它们,以便在控制台中查看此信息,我正在将系统置于“项目已删除”状态。项目的删除只是在创建之后进行的,所以我想两次使用相同的数组。首先我用于创建然后删除。 – user2172723 2013-04-11 13:04:02
我认为你可以使用选一个维数组, 。
Object dnames [] = new Object[]{"owl","zoo","Chimp","Fish","Duck"};
我们可以通过一个维数组环路显然如下
for(Object item: dnames)
{
System.out.println(item); // do your stuff here with item
}
我们可以做什么迭代一个二维数组?我们需要删除然后打印“'item'+”已删除“,对于我的问题中该数组的每个项目? – user2172723 2013-04-11 11:27:11
@Cedric,我尝试了你的方式并将其更改为一维数组,然后应用您给我的循环。但它给出了dnames下的错误(red groovy line):“将params的类型改为object”,当我这样做时,它会在第二行的参数下面给出红线,表示只能遍历数组或java实例的实例.lang.iterable。 – user2172723 2013-04-12 07:54:54
@Test(dataProvider = "delnames")
public void delete(String name1){
for (Object[] params : dnames()) {
for (Object o : params) {
...
}
}
}
,你不想做这个测试中的方法,因为dnames()
是它的数据提供者,但我假设你只是以此为例。
我尝试了你的方式,并改变为一维数组,并应用了你给我的循环,但它给出dnames下的错误(红色groovy行):“将params的类型更改为对象”,当我这样做,它会在第二行的params下给出红线,说只能迭代和实例数组或java.lang.iterable的实例 – user2172723 2013-04-12 10:01:38
你有没有试过用“迭代数组java”或“for循环数组java”或类似的东西? – Alderath 2013-04-11 10:49:16