由XXX定义的模板'内容模板'已检查'为args返回null:'[]'

时间:2015-10-23 09:52:57

标签: groovy spock geb

我正在使用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: '[]'

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并通过waiting为元素解决了问题。所以在你的情况下,我会尝试像

这样的东西
static content = {
    checked(wait: true) { $(".tst-doc-checkbox").find { it.displayed }}
}