groovy - 使用geb保存当前网址

标签 groovy spock geb

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

斯波克测试:

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()
    }
}

谷歌主页:
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。
谢谢你!

最佳答案

您可以使用 current url getter在 WebDriver 类上。 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/

相关文章:

java - CamelContext 已加载,但路由定义为空

java - IntelliJ IDEA - 错误 : java: package foo does not exist

grails - 如何使用Groovy返回JDBC ResultSet

带闭包的 Groovy Spock 单元测试

grails - 无法在Grails上将Cucumber与Geb集成

grails - 从Geb测试中调用GORM方法

jenkins - 无法通过 Jenkins 管道作业的 jenkinsfile 中的 Groovy 代码(或 java 代码)创建文件

grails - Grails Controller 测试中的模型为空/空

unit-testing - 模拟时,Grails单元测试通过引用不起作用

grails - 如何在智能12中定义 cucumber 的步骤定义位置