2014-02-13 2 views
0

이것은 내 gebish 테스트이며 나는 그것이 작동하지 않는 이유를 모르겠다. 나는 또한 루프를 위해 그것을 시도했다grails gebish testing loops/times

8.times { 
     //do something 8 times 
    } 

:

def "create name"() { 

    $("button", value:"newCat").click() 

    waitFor { $("input", name:"name") } 

    $("input", name:"name") << "gebTest"+i 
    $("input", name:"create").click() 

    waitFor { $("h1", text:"Show New Name") } 

    $("a", text:"new name").click() 

    waitFor {$("h1.title").text() == "Names"} 
    expect: at NewNamesPage 

} 

그래서는 스팍 블록을 싫어하는 것 :

def "create 9 more names"(){ 
     def i = 0 
    8.times{ 

    $("button", value:"newCat").click() 

    waitFor { $("input", name:"name") } 

    $("input", name:"name") << "gebTest" 
    $("input", name:"create").click() 

    waitFor { $("h1", text:"Show New Name") } 

    $("a", text:"new name").click() 

    waitFor {$("h1.title").text() == "Names"} 
    expect: at NewNamesPage 
     i++ 
    } 

} 

이 테스트 작업을 수행합니다. 루프를 시작하지 않습니다.

아이디어가 있으십니까?

+1

My * guess *는 'expect :'가 루프 안에있을 수 없다는 것입니다. – rcgeorge23

+0

아무런 차이가 없습니다. 생각해 줘서 고마워. – Sagarmichael

답변

1

이 방법이 유용 할 것입니다. 또한 변수를 정의 할 필요가 없습니다. nximes는 블록을 n 번 실행해야합니다. 희망이 도움이됩니다!

def "create 9 more names"(){ 
    def i = 0 
    8.times{ 

    $("button", value:"newCat").click() 

    waitFor { $("input", name:"name") } 

    $("input", name:"name") << "gebTest" 
    $("input", name:"create").click() 

    waitFor { $("h1", text:"Show New Name") } 

    $("a", text:"new name").click() 

    waitFor {$("h1.title").text() == "Names"} 
    expect: at NewNamesPage 
    i += 1 
    } 

}