我在 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
}
}
模型:
class SearchModule extends Module {
static content = {
field { $("input", name: "q") }
search { $("input", name: "btnK") }
}
}
请帮助保存/打印当前 URL。
谢谢你!
最佳答案
您可以在 WebDriver 类上使用 current url getter。 WebDriver 实例存储为 driver
property on Browser 。因此,在 Geb Spock 测试中,这很简单:
driver.currentUrl
编辑
从 Geb 0.9.3 开始,还有一个 current url getter available on
Browser
。关于groovy - 使用geb保存当前网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16240603/