Gradle GebConfig.groovy 参数化

Gradle GebConfig.groovy parameterized

我想参数化 GebConfig.groovy 以便我可以指定一个 RemoteWebDriver url。

我正在使用 Gradle 作为我的构建工具。

我的GebConfig.groovy长得像

import org.openqa.selenium.remote.DesiredCapabilities
import org.openqa.selenium.remote.RemoteWebDriver

driver = {
   DesiredCapabilities capabilities = DesiredCapabilities.firefox()
   new RemoteWebDriver(
     new URL("http://xx:4444/wd/hub"), capabilities
   )
}

我想说的是

new URL(project.remoteURL)

其中remoteURL是通过like命令传入的

gradle test -PremoteURL=http://xx:4444/wd/hub

这可行吗? GebConfig.groovy 如何获得对 Gradle 项目的引用?或者有其他选择吗?

这应该很简单。首先,将项目 属性 中的 url 传递到 build.gradle:

中测试 JVM 中的系统 属性
test {
    systemProperty "com.example.test.remoteWebDriverUrl", project.remoteURL
}

然后在GebConfig.groovy中使用它创建一个RemoteWebDriver实例。

driver = {
    DesiredCapabilities capabilities = DesiredCapabilities.firefox()
    URL url = new URL(System.getProperty("com.example.test.remoteWebDriverUrl")
    new RemoteWebDriver(url, capabilities)
}