【问题标题】:GEB: set default environment?GEB:设置默认环境?
【发布时间】:2021-01-29 14:05:45
【问题描述】:

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

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

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

【问题讨论】:

    标签: groovy automation automated-tests geb


    【解决方案1】:

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

    【讨论】:

    • 作为建议,当没有设置 geb 环境时,将使用您在 environments 块之外指定的任何内容。因此,基本上展开并移动您想要在 environments 块之外默认的环境的任何配置并完成工作。支持GebConfig 脚​​本的机制是Groovy 的ConfigSlurper,在blog.mrhaki.com/2009/10/… 中有描述。
    猜你喜欢
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-12-23
    • 2015-08-18
    • 2019-05-28
    • 2018-06-13
    • 1970-01-01
    相关资源
    最近更新 更多