Я выполняю тест с использованием теста каратэ.
1-е сообщение, которое ожидает 201 и местоположение.
2-ой используйте местоположение от ответа до получения.
Кто-нибудь знает, как я могу сделать это с каратэ?
Следующий код - моя попытка, после многих других.
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
Я не понимаю, почему.
[EDIT]
После уговоров из Питера, спасибо!
Печать возврата:
08: 59: 33.610 [главная] ИНФОРМАЦИЯ com.intuit.karate - [печать] [
«https://www.test.com/enpoint/4603b043-ea8c-470d-a5a9-2aa50aea4f75"]
Теперь я звоню
Заданная конечная точка URLLocation
и я получаю
08: 59: 33.611 [main] ОШИБКА com.intuit.karate - запрос http не выполнен: java.net.URISyntaxException: недопустимый символ в имени схемы в индексе 0: ["https://www.test.com/enpoint/4603b043-ea8c-470d-a5a9-2aa50aea4f75"]
fraudMgmtApi.feature: 263 - java.net.URISyntaxException: недопустимый символ в имени схемы с индексом 0: ["https://www.test.com/enpoint/4603b043-ea8c-470d-a5a9-2aa50aea4f75"]
Я также пытался обрезать первый и последний символы, создавая:
- def trim =
«»»
function (myText) {result = myText.substring (1, myText.length-1)}
"" "
Или myText.slice (1, -1)