Как передать несколько json записей, используя управляемый данными подход в карате DSL? - PullRequest
3 голосов
/ 24 апреля 2020

Мы изучили документацию по каратэ, в которой мы можем сравнить точный объект JSON в качестве ответа (который содержит несколько записей данных), но как мы можем передать и прочитать JSON в одном сценарии?

Ниже приведен мой пример. JSON, и я хочу прочитать это в полезной нагрузке запроса.

[{"name":"John","salary":"10000","age":"25"}, {"name":"Maria","salary":"20000","age":"27"}]

Я пробовал структуру JSON в указанном выше формате, однако Я получаю ниже исключения. Пожалуйста, помогите мне в этом.

status code was: 400, expected: 200, response time: 4315

Пожалуйста, предложите, как прочитать и передать его в полезной нагрузке запроса одного сценария.

Спасибо.

1 Ответ

0 голосов
/ 28 апреля 2020

Код состояния 400 означает, что вы допустили другую ошибку в запросе. Каратэ работает нормально, это всего лишь HTTP-клиент, возможно, запрос был не в «форме», которую ожидал сервер. Поговорите с командой на стороне сервера, если можете, или проверьте документацию по API.

Вот простой пример, который работает, вставьте его и попробуйте:

* def body = [{"name":"John","salary":"10000","age":"25"}, {"name":"Maria","salary":"20000","age":"27"}]

* url 'https://httpbin.org/post'
* request body
* method post
* status 200

РЕДАКТИРОВАТЬ: для цикла Пожалуйста, прочитайте документацию.

Приведенный ниже пример является лишь одним из способов сделать это - пожалуйста, определите, что вам лучше всего подходит: https://github.com/intuit/karate#data -driven-tests

Feature:

Background:
* def data = [{"name":"John","salary":"10000","age":"25"}, {"name":"Maria","salary":"20000","age":"27"}]

Scenario Outline:
* url 'https://httpbin.org/post'
* request __row
* method post
* status 200

Examples:
| data |
...