"Target host not specified" 为动态场景大纲使用 json 数据时

"Target host not specified" when using json data for Dynamic Scenario Outline

我已经升级到 1.0.0 版,但在使用 0.9.6 时遇到了一个运行正常的错误。

下面是我提供的空手道示例代码,我对其进行了一些修改以说明我是如何得到错误的。

 Background:
    * url 'https://jsonplaceholder.typicode.com'
    * def id = read("id-list.json")

 Scenario Outline: [id: <id>] get all users and then get the first user by id
    Given path 'users', <id>
    When method get
    Then status 200
    * print id

  Examples:
    | id |

id-list.json

[{"id":1},{"id":2}]

错误:

Testing started at 11:12 ...
command: --plugin org.jetbrains.plugins.cucumber.java.run.CucumberJvmSMFormatter --monochrome --name ^\[id\: .*\] get all users and then get the first user by id$ --glue com.intuit.karate C:/Users/danna/IdeaProjects/YXC/src/test/java/examples/users/users.feature
11:12:19.580 [main] DEBUG com.intuit.karate.Suite - [config] classpath:karate-config.js
11:12:19.585 [main] INFO  com.intuit.karate.Suite - backed up existing 'target\karate-reports' dir to: target\karate-reports_1616551939583
11:12:19.606 [main] INFO  c.intuit.karate.core.FeatureRuntime - found scenario at line: 18 - ^\[id\: .*\] get all users and then get the first user by id$
11:12:20.265 [main] INFO  com.intuit.karate - karate.env system property was: null 
11:12:20.333 [main] INFO  c.intuit.karate.core.FeatureRuntime - found scenario at line: 18 - ^\[id\: .*\] get all users and then get the first user by id$
11:12:20.338 [main] INFO  com.intuit.karate - karate.env system property was: null 
11:12:20.595 [main] ERROR com.intuit.karate - karate.org.apache.http.ProtocolException: Target host is not specified, http call failed after 250 milliseconds for url: /users/1
11:12:20.596 [main] ERROR com.intuit.karate - src/test/java/examples/users/users.feature:12
When method get
http call failed after 250 milliseconds for url: /users/1
src/test/java/examples/users/users.feature:12

http call failed after 250 milliseconds for url: /users/1
src/test/java/examples/users/users.feature:12
11:12:20.596 [main] INFO  c.intuit.karate.core.FeatureRuntime - found scenario at line: 18 - ^\[id\: .*\] get all users and then get the first user by id$
11:12:20.600 [main] INFO  com.intuit.karate - karate.env system property was: null 
11:12:20.601 [main] ERROR com.intuit.karate - karate.org.apache.http.ProtocolException: Target host is not specified, http call failed after 0 milliseconds for url: /users/2
11:12:20.601 [main] ERROR com.intuit.karate - src/test/java/examples/users/users.feature:12
When method get
http call failed after 0 milliseconds for url: /users/2
src/test/java/examples/users/users.feature:12

http call failed after 0 milliseconds for url: /users/2
src/test/java/examples/users/users.feature:12

我认为错误与此有关 issue 但我不太确定。 任何帮助将不胜感激。

感谢您报告此事。这听起来像是与同一个错误有关,所以我们已经注意到它:https://github.com/intuit/karate/issues/1517#issuecomment-805439326

现在您可以通过将 url 行移动到 Scenario 的第一行来解决。