1

私の Spock 機能テストでは、ブラウザーの現在の場所が特定の URL ではないことをテストしたいと考えています。私はできることを知っています:

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

ただし、これは例外を使用して分岐を制御しています。他atに、ブラウザの URL を確認する方法はありますか? 私は試しpage.pageUrlましbrowser.pageUrlたが、どちらもnullです。

4

1 に答える 1

2

Geb 0.7.0 の時点でisAt()、 class に新しいメソッドがありBrowserます。GebSpecプロキシBrowserメソッドそのインスタンスへの呼び出しが見つからないため、このメソッドはテストで使用できます。このメソッドは、例外をスローする代わりに true/false を返すため、公開する必要があります。

例:

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

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