使用geb保存当前网址

时间:2013-04-26 15:58:25

标签: groovy spock geb

我在geb上进行测试,但我遇到了问题。我需要保存/打印当前页面的地址(函数SaveUrl())。

Spock测试:

class TestSpec extends GebReportingSpec {
def "Google"() {
    given: "go to google.com"
    to GooglePage

    when: "we at Google home page"
    at GooglePage

    then: "Search Yahoo"
    Search("Yahoo")
    SaveUrl()
    }
}

GooglePage:

class GooglePage extends Page {
    static url = "http://www.google.by"
    static at = { $("title").text() == "Google"}
    static content = {
        theModule { module SearchModule }
    }

def Search(String arg0) {
    theModule.field.value(arg0)
    theModule.search.click()
    }

def SaveUrl() {
    // need implement
    }
}

Modile:

class SearchModule extends Module {
static content = {
    field { $("input", name: "q") }
    search { $("input", name: "btnK") }
    }
}

请帮助保存/打印当前网址 谢谢!

1 个答案:

答案 0 :(得分:11)

您可以在WebDriver类上使用current url getter。 WebDriver实例存储为driver property on Browser。因此,在Geb Spock测试中,它就像说:

driver.currentUrl

修改

由于Geb 0.9.3,还有一个current url getter available on Browser