【问题标题】:Karate: passing dynamic parameter values via the command line not working空手道:通过命令行传递动态参数值不起作用
【发布时间】:2018-05-23 13:17:17
【问题描述】:

当我在命令行上运行空手道集成测试时,我试图从命令行传递一个 URL。我查看了this 并尝试做同样的事情,但到目前为止没有运气。

我有这个karate-config.js 文件

function karateconf() {
  karate.configure('connectTimeout', 5000);
  karate.configure('readTimeout', 5000);
  var config = { baseURL: 'http://localhost:8080' };

  if (karate.env == 'ci') {
    config.baseURL = karate.properties['base.URL'];
    karate.log('*******************************', karate.properties['base.URL']);
  }

  return config;
}

我像这样使用 gradle 运行测试

./gradlew integrationTest -Dkarate.env=ci  -Dbase.URL=http://someurl:8080

这里是空手道日志

14:12:54.599 [pool-1-thread-1] INFO  com.intuit.karate - ******************************* null 
14:12:54.827 [pool-1-thread-1] ERROR com.intuit.karate - url not set, please refer to the keyword documentation for 'url'
14:12:54.827 [pool-1-thread-1] ERROR com.intuit.karate - http request failed: url not set, please refer to the keyword documentation for 'url'
14:12:54.836 [pool-1-thread-1] INFO  c.i.karate.cucumber.CucumberRunner - <<<< feature 1 of 1 on thread pool-1-thread-1: com/guidewire/lifecycle/controller/configuration-controller.feature
14:12:55.359 [Test worker] INFO  n.m.cucumber.ReportParser - File '/workspace/configuration-service/configuration-infrastructure/app-backend/lifecycle/target/surefire-reports/TEST-com.guidewire.lifecycle.controller.configuration-controller.json' contain 1 features

我无法弄清楚我在这里缺少什么。

【问题讨论】:

    标签: javascript karate


    【解决方案1】:

    分级?这在文档中有所介绍:https://github.com/intuit/karate#command-line - 看起来您需要将base.URL 添加到您的 gradle 构建文件中,方法如下:

    对于 gradle,您必须扩展测试任务以允许 cucumber.options 传递给 Cucumber-JVM(否则它们会被 gradle 本身)。为此,请添加以下内容:

    test {
        // pull cucumber options into the cucumber jvm
        systemProperty "cucumber.options", System.properties.getProperty("cucumber.options")
        // pull karate options into the jvm
        systemProperty "karate.env", System.properties.getProperty("karate.env")
        // ensure tests are always run
        outputs.upToDateWhen { false }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 2017-09-11
      相关资源
      最近更新 更多