GEB:设置默认环境?
GEB: set default environment?
我通过 environments {}
闭包在 GebConfig 中声明了一些环境。
如果我在命令行中指定 -Dgeb.env
,一切都会完美无缺。
但是当我出于调试目的启动单个测试时,我不想显式传递任何额外的环境变量。
如何定义GEB默认使用的环境?
只需在 environments
之外定义默认值 driver
我的 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 = {
// (...)
}
}
}
我通过 environments {}
闭包在 GebConfig 中声明了一些环境。
如果我在命令行中指定 -Dgeb.env
,一切都会完美无缺。
但是当我出于调试目的启动单个测试时,我不想显式传递任何额外的环境变量。
如何定义GEB默认使用的环境?
只需在 environments
之外定义默认值 driver
我的 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 = {
// (...)
}
}
}