【发布时间】:2018-10-27 15:51:18
【问题描述】:
我正在使用 geb spock。我正在尝试从 GebConfig 文件中读取系统变量,但是它返回 null 值。
下面是我的 GebConfig.groovy 文件。
def final DEFAULT_BROWSER = "chrome"
def final DEFAULT_LANGUAGE = "nl" //"en" or "nl"
def browser = System.getProperty("geb.env")
//Default browser
if (!correctBrowser(browser)) {
browser = DEFAULT_BROWSER
}
def envLang = System.getProperty("geb.env.lang")
//Default language
if (!correctLanguage(envLang)) {
envLang = DEFAULT_LANGUAGE
}
System.setProperty("geb.env.lang", envLang)
System.setProperty("geb.env", browser)
environments {
driver = { getDriver(browser, envLang) }
}
下面是我试图在变量中获取语言值的规范文件。
@Stepwise
class TC001_SMO_Scenario_Spec extends GebReportingSpec {
@Shared
def lang = System.getProperty("geb.env.lang")
def "Step 1: Perform Login"() {
when: "Load File"
to WUPage
then: " File loaded successfully"
println " Getting data from Geb Config File: " + lang
}
}
你能帮我怎么做吗,因为这对我访问并将其存储在变量中非常重要。谢谢
【问题讨论】:
-
我不知道为什么,但是我所有的 GebConfigs 都在 setProperty 中调用 getProperty: System.setProperty("geb.env.lang", System.getProperty("geb.env.lang", envLang ))