首页 > 解决方案 > GEB:设置默认环境?

问题描述

environments {}我通过闭包在 GebConfig 中声明了一些环境。如果我-Dgeb.env在命令行中指定,一切都会完美运行。

但是,当我出于调试目的启动单个测试时,我不想显式传递任何额外的环境变量。

将 GEB 使用的环境定义为默认值的方法是什么?

标签: groovyautomationautomated-testsgeb

解决方案


只需driver在 My Geb 配置之外定义一个默认值,environments如下所示:

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 = {
      // (...)
    }
  }
}

推荐阅读