Используйте заголовок в нескольких вызовах в одном и том же сценарии в каратэ - PullRequest
1 голос
/ 05 апреля 2019

Имея функцию только с одним сценарием с несколькими HTTP-вызовами, я хочу использовать один и тот же хост и заголовки для всех вызовов. Тем не менее, хотя я могу установить URL для всех вызовов, заголовок, кажется, применяется только при первом вызове, а затем сбрасывается. Есть ли у кого-нибудь информация о том, почему это происходит, и / или предложения о том, как это сделать правильно (помимо добавления их в каждом вызове отдельно)?

Либо путем установки их в Background, либо с помощью общего Given, URL используется в обоих вызовах, но заголовок включается только в первый: 1)

Feature: sample

  Background:
  * header Content-Type = 'application/json' 
  * url http://localhost:8080

  Scenario: do multiple calls
    Given path /sample/
    When method GET
    Then status 200

    Given path /sample2/
    When method GET
    Then status 200

2)

Feature: sample2

Given header Content-Type = 'application/json'
And url http://localhost:8080 

  Scenario: do multiple calls
    Given path /sample/
    When method GET
    Then status 200

    Given path /sample2/
    When method GET
    Then status 200

1 Ответ

0 голосов
/ 05 апреля 2019

Вы действительно должны прочитать документацию: https://github.com/intuit/karate#configure-headers

Просто сделайте:

Background:
  * configure headers = { 'Content-Type': 'application/json' }

И есть еще много вариантов, просто прочитайте документы.Обратите внимание, что вам обычно не нужно устанавливать Content-Type, потому что каратэ делает это автоматически на основе тела запроса.

...