Не могу печатать заголовки в файле каратэ

Я использую каратэ ( https://github.com/intuit/karate) для некоторого тестирования API и имею тест с недопустимыми заголовками. Я хотел бы распечатать заголовки во время отладки, чтобы убедиться, что все настроено правильно. Вот так я устанавливаю и пытаюсь печатать, но ничего не получается. Я могу найти что-нибудь об этом в документации. Кто-нибудь знает? Очень признателен!!

Given path '/metadata/project/' + projectID + '/graph/' + graphID
And headers { Authorization: 'INVALID', Content-Type:#(headerValue)}
And request graphJSON
* print headers // prints nothing
* print requestHeaders  // prints nothing
* print requestHeader   // prints nothing
* print header // prints nothing
When method put
Then status 401 // this passes, so i know the header is being set
* print response // prints correctly
* print responseHeaders //prints correctly

Как распечатать заголовки, которые будут отправлены?

1 ответ

Решение

Я удивлен, что вы не видите заголовки в консоли и в журнале target/karate.log - это должно происходить по умолчанию, и вы можете следовать инструкциям здесь: https://github.com/intuit/karate

Также обратитесь к документации по встроенным переменным вместо того, чтобы пытаться угадать их: https://github.com/intuit/karate

Но если вы действительно хотите напечатать фактические отправленные заголовки (очень редко нужны), вы можете сделать это:

* print 'headers:', karate.prevRequest.headers

Это объясняется здесь: https://github.com/intuit/karate

РЕДАКТИРОВАТЬ: я заметил, что вы можете сделать общую ошибку, когда у вас есть дефис в ключе JSON - вам нужно использовать строковые кавычки:

And headers { Authorization: 'INVALID', 'Content-Type': '#(headerValue)' }

И да, это также объясняется в документации.

Другие вопросы по тегам