我正在使用空手道测试进行一些测试。
第一个期望201和位置的帖子。
第二次使用从响应到执行获取的位置。
有人知道我该怎么用空手道吗?
下面的代码是我的尝试,
Given path 'alpha/test'
And request
"""
{
"id": '#(uuid)',
"content": "test",
"isActive": true
}
"""
When method post
Then status 201
And def endpointLocation = responseHeaders['Location']
And print endpointLocation
Given url 'endpointLocation'
When method get
Then status 200
And match response ==
"""
{
"id": '#(uuid)'
}
"""
但是我得到了:
18:30:12.819 [main] ERROR com.intuit.karate - org.apache.http.client.ClientProtocolException, http call failed after 252 milliseconds for URL: endpointLocation
18:30:12.820 [main] ERROR com.intuit.karate - http request failed:
org.apache.http.client.ClientProtocolException
testApi.feature:263 -
org.apache.http.client.ClientProtocolException
我不知道为什么。
[编辑]
在彼得的劝告下,谢谢!
打印返回:
08:59:33.610 [main] INFO com.intuit.karate-[print] [ “ https://www.test.com/enpoint/4603b043-ea8c-470d-a5a9-2aa50aea4f75”]
现在我在打电话
给出url端点位置
我得到
08:59:33.611 [main]错误com.intuit.karate-HTTP请求失败:java.net.URISyntaxException:方案名称中索引0处的字符非法:[“ https://www.test.com/enpoint/4603b043-ea8c-470d-a5a9-2aa50aea4f75”] 欺诈MgmtApi.feature:263-java.net.URISyntaxException:方案名称中索引0处的非法字符:[“ https://www.test.com/enpoint/4603b043-ea8c-470d-a5a9-2aa50aea4f75”]
我还试图修剪第一个和最后一个角色,创建一个:
或myText.slice(1,-1)
答案 0 :(得分:0)
从错误消息中:http call failed after 252 milliseconds for URL: endpointLocation
很明显,您设置的url
错误。如果endpointLocation
变量设置正确,请首先尝试对其进行硬编码,然后进行更改。您可以print
对其进行检查。
Given url endpointLocation