Geb,waitfor意外影响行为

时间:2013-12-03 09:08:12

标签: selenium groovy geb

我发现了Geb库非常奇怪的行为。

以下是我的测试示例:

Then(~'I should see that I\'m logged in') { ->
    assert browser.find('div#loggedInBlock').isDisplayed()
}

它工作正常,但我担心超时,因为它需要一段时间来执行js和加载等,所以我像这里修改我的代码:

Then(~'I should see that I\'m logged in') { ->
    browser.waitFor() {
        assert browser.find('div#loggedInBlock').isDisplayed()
    }
}

所以我希望如果出现意外延迟会有效。但我在这里得到了错误 - 这种情况意外地没有通过。如果我返回我的代码并删除'waitFor'它再次运行良好。

所以我很困惑,为什么会这样?

1 个答案:

答案 0 :(得分:2)

由于waitFor块的Geb 0.7.0内容被隐式声明,这意味着您不需要/不应该在其中使用assert关键字。请查看Book of Geb的implicit assertions部分,了解这意味着什么。