"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
的第一行来解决。
我已经升级到 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
的第一行来解决。