2013-04-11 5 views
0

"delnames"개체 배열을 사용하여이 동물원 항목을 만들고 다른 방법으로이를 삭제하려고합니다. 생성은 각각에 대해 별도의 메소드가 필요하지만 삭제는 클릭하지 않으면됩니다. 그래서 같은 dataprovider 개체 배열에 iterate 싶어요.
여기 내가 달성하려고하는 것입니다. 우분투에서 스크립트를 작성하기 위해 자바를 사용하고 있습니다.객체 배열의 길이까지 반복하는 방법은 무엇입니까?

@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"); 
} 
} 
+1

"반복 배열 java"또는 "for 루프 배열 java"또는 이와 비슷한 검색을 해본 적이 있습니까? – Alderath

답변

1

가 ArrayList에 또는 벡터의 경우 : 대신 두 차원 배열, 당신이 한 차원 배열을 선택 사용할 수 있다고 생각

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

@jamp 나는 당신이 내게 준 것을 이미 시도해 보았습니다. ** (int i = 0; i {
} **을 시도했지만 배열의 첫 번째 항목 만 가져옵니다. 배열의 도움으로 배열의 모든 7 개 항목을 삭제하고 싶습니다. – user2172723

+0

배열 자체를 삭제하거나 배열을 비우시겠습니까? –

+0

배열이 아닙니다 :). 내 응용 프로그램의 항목입니다. 나는 콘솔에서 이것을보기 위해 삭제해야하는 아이템을 몇 개 만들었고, "아이템이 삭제되었습니다"라고 말하는 sys를 내놓았습니다. 항목 삭제는 생성 직후에 이루어 지므로 같은 배열을 두 번 사용하려고합니다. 먼저 나는 창조를 위해 그리고 나서 삭제를 위해 사용하고있다. – user2172723

0

:이 배열 인 경우

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

가 .

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

우리는 당신이 dnames() 이후 시험 방법에서이 작업을 수행하지 않으려는, 분명히

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

2 차원 배열을 반복 할 수 있습니까? 우리는 내 질문에 해당 배열의 각 항목에 대해 " 'item'+"deleted "를 삭제하고 인쇄해야합니까? – user2172723

+0

@Cedric, 길을 시도하고 1 차원 배열로 변경하고 나에게 준 루프를 적용했습니다. 하지만 그것은 "개체를 매개 변수의 형식을 변경하십시오"라는 dnames 아래에 오류 (빨간색 groovy 줄)를 제공합니다. 그렇게하면 두 번째 행의 params 아래에 빨간색 줄이 표시되어 배열이나 Java 인스턴스의 인스턴스 만 반복 할 수 있습니다. .lang.iterable. – user2172723

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

을 한 차원 배열을 통해 루프를 다음 수있는 것은 데이터 제공 업체입니다,하지만 난 ' 이걸 예제로 보여주고 있다고 가정합니다.

+0

당신의 방법을 시도하고 일차원 배열로 변경하고, 당신이 준 루프를 적용합니다.하지만 "개체의 매개 변수 형식을 변경하십시오."라는 dnames 아래에 오류 (빨간색 그루브 선)가 표시되며, 그렇게하면 두 번째 행의 params 아래에 빨간색 줄이 표시되어 배열의 인스턴스와 java.lang.iterable의 인스턴스 만 반복 및 반복 할 수 있습니다. – user2172723

관련 문제