问题描述
我通过 environments {}
闭包在 GebConfig 中声明了一些环境。
如果我在命令行中指定 -Dgeb.env
,则一切正常。
但是当我出于调试目的开始单个测试时,我不想显式传递任何额外的环境变量。
如何定义GEB默认使用的环境?
解决方法
只需在 driver
之外定义一个默认的 environments
我的 Geb 配置如下所示:
driver = {
new HtmlUnitDriver(true)
}
environments {
html_unit {
driver = {
new HtmlUnitDriver(true)
}
}
phantomjs {
driver = {
WebDriverManager.phantomjs().version("2.1.1").setup()
def pjsDriver = new PhantomJSDriver()
pjsDriver.manage().window().size = new Dimension(1024,768)
pjsDriver
}
}
chrome {
driver = {
// (...)
}
}
chrome_headless {
System.setProperty("webdriver.chrome.logfile","chromedriver.log")
System.setProperty("webdriver.chrome.verboseLogging","true")
driver = {
// (...)
}
}
firefox {
driver = {
// (...)
}
}
ie {
driver = {
// (...)
}
}
edge {
driver = {
// (...)
}
}
opera {
driver = {
// (...)
}
}
win_app {
driver = {
// (...)
}
}
}