Karate url中的空手道框架符号编码
我有这个:Karate url中的空手道框架符号编码,karate,Karate,我有这个: Background: * url 'http://localhost:15672/api/exchanges/%2F/my_exchange' Scenario: Given path 'publish' 这里的问题是url被解析为: http://localhost:15672/api/exchanges///my_exchange/publish 而不是: http://localhost:15672/api/exchanges/%2F/my_exchang
Background:
* url 'http://localhost:15672/api/exchanges/%2F/my_exchange'
Scenario:
Given path 'publish'
这里的问题是url被解析为:
http://localhost:15672/api/exchanges///my_exchange/publish
而不是:
http://localhost:15672/api/exchanges/%2F/my_exchange/publish
谢谢
编辑:
我将改进这个问题
我在这里上传了一个非常简单的项目:
它有一个wiremock,用于监听/bar/%2F/foo
此功能正在工作:
Feature: Working example
Scenario:
Given url 'http://localhost:1081/bar/%2F/foo'
When method get
Then status 200
但此功能不起作用(我在项目中放置了@ignore标志,以便成功构建):
这两个功能之间的区别是使用url
和path
对我有效:
* url 'https://httpbin.org/anything/%2F/my_exchange'
* method get
在日志中:
1 > GET https://httpbin.org/anything/%2F/my_exchange
1 > Accept-Encoding: gzip,deflate
1 > Connection: Keep-Alive
1 > Host: httpbin.org
1 > User-Agent: Apache-HttpClient/4.5.11 (Java/1.8.0_231)
编辑:当您使用非传统URL-s时,空手道中的一般建议是只使用
URL
(不要使用path
):我在使用0.9.2版的空手道apache和空手道时遇到了问题-junit4@italktothewind遵循这个过程:我肯定有问题,我将提交一个问题时,我可以建立一个最小的例子,谢谢!我做了更多的研究,当你在场景中的背景和路径中使用url(如问题中的示例)而不是在场景中直接使用url(如此答案)时,问题就会出现@Italkthewind我不知道你在说什么
1 > GET https://httpbin.org/anything/%2F/my_exchange
1 > Accept-Encoding: gzip,deflate
1 > Connection: Keep-Alive
1 > Host: httpbin.org
1 > User-Agent: Apache-HttpClient/4.5.11 (Java/1.8.0_231)