我正在使用Geb和Spock编写我的集成测试,这是我的代码:
ITCase.groovy:
waitFor {
documents && documents[index]?.displayed && documents[index].checked?.displayed
}
documents[index].checked.click()
Page.groovy:
static content = {
documents {
moduleList DocumentListItemModule, $("#documents-list table tbody tr")
}
}
DocumentListItemModule.groovy:
static content = {
checked { $(".tst-doc-checkbox").find { it.displayed }}
}
通常情况下效果很好,但偶尔会出现documents[index].checked.click()
行的错误:
Template 'content template 'checked' defined by XXX returned null for args: '[]'
我该如何解决这个问题?
答案 0 :(得分:0)
我遇到了同样的问题,并通过waiting为元素解决了问题。所以在你的情况下,我会尝试像
这样的东西static content = {
checked(wait: true) { $(".tst-doc-checkbox").find { it.displayed }}
}