这是我的垃圾测试,我不知道它为什么不起作用。
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++
}
}
此测试确实有效:
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
}
所以它似乎不喜欢spock块:
8.times {
//do something 8 times
}
我也尝试使用for循环。 它甚至没有启动循环。
有什么想法吗?
答案 0 :(得分:1)
这对你有用。此外,您不需要定义任何变量,n次应该运行块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
}
}