1

在我的Spock功能测试中,我想测试浏览器的当前位置不是某个url。我知道我可以做到:

try {
    at(PageWithUrlIDontWant)
    // do something
} catch (AssertionError) {
    // pass because this is the common branch
}

但是,这是使用异常来控制分支。除此之外at,有没有办法检查浏览器的网址?我试过了page.pageUrlbrowser.pageUrl但它们都是空的。

4

1 回答 1

2

从 Geb 0.7.0 开始,isAt()类上有一个新方法BrowserGebSpec代理 methodMissing 对其Browser实例的调用,因此此方法在您的测试中可用。此方法返回 true/false 而不是抛出异常,应该公开。

例子:

def "navigating to GoodPage doesn't up at BadPage"() {
    when:
    to GoodPage

    then:
    !isAt(BadPage)
}
于 2013-03-20T03:37:22.487 回答