【问题标题】:karate.callSingle not found .feature file in karate-config.jskarate.callSingle 在 karate-config.js 中找不到 .feature 文件
【发布时间】:2021-04-05 09:40:02
【问题描述】:

我正在使用 karate v0.9.6,它是一个很棒的工具。 我有超过 1000 个场景,每个场景都需要令牌才能工作,所以我在 karate-config.js 中使用 callSingle 来创建和缓存令牌。我使用独立的 jar 文件。

我的 karate-config.js 的一部分:

  var auth_cfg = { 
  server: env,
  credentials: karate.properties['credentials']};

  var result = karate.callSingle('classpath:credentials/generate_tokens.feature', auth_cfg);

我正在使用这样的 .sh 文件:

rm -rf target &&
  java -Xmx2048m \
    -Dlogback.configurationFile=cfg/logs_debug.xml \
    -jar \
    -Dcredentials=data.json \
    karate-1.0.1.jar -e https://my-server/ \
    --tags ~fixme \
    --tags ~ignore \
    --threads 4 \
   features/services/simple_plan.feature

而且,它在 v.0.9.6 上运行良好很长时间。 但是,当我尝试升级到 v 1.0 或 1.0.1 时,出现错误:

org.graalvm.polyglot.PolyglotException: not found: credentials/generate_tokens.feature

我发现了这个问题:https://github.com/intuit/karate/issues/1515

但是示例对我不起作用。我正在尝试使用“文件:”和 karate.properties['karate.config.dir'] + '/features/auth/auth.feature'。 我总是出错:

未找到:凭据/generate_tokens.feature

还有谁遇到过这个问题?

【问题讨论】:

    标签: testing karate


    【解决方案1】:

    正如您在 #1515 的讨论中看到的那样 - 这就是为什么我们真的希望更多人尝试 RC 版本并向我们提供反馈(我们为此花费了几个月的时间)而不是等待 1.0。

    您的情况似乎是使用独立 JAR 和自定义 shell 脚本的边缘情况。

    我的第一个建议是使用-w 标志。这是 1.0 中的一个新参数,可以设置“当前工作目录”,但它应该在您的情况下正确默认。

    第二个建议是为 JVM 设置类路径。将此用作参考:https://stackoverflow.com/a/58398958/143475 - 一旦您这样做,classpath: 将按您的预期工作。

    否则,请遵循以下流程:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue - 我不得不说,除非您能帮助我们解决此问题,否则您可能需要在 0.9.6 上停留一段时间。对不起。

    【讨论】:

    • 彼得·托马斯,感谢您的快速响应!
    【解决方案2】:

    Peter Thomas,感谢您的快速响应! 我修改 callSingle 函数和 callSingle 调用的 .feature 文件 - 将“classpath:”更改为“file:”

    karate.callSingle('file:credentials/generate_tokens.feature', auth_cfg)
    

    ,

    # read credentials
    * def authdata = read('file:credentials/' + credentials)
    

    现在可以使用了。之前,当我将 classpath: 更改为 file:i 时,可能犯了一个错误。 感谢这么棒的测试框架!

    【讨论】:

    • 很高兴听到这个消息,感谢您的更新!
    猜你喜欢
    • 2018-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多