В DSL карате есть способ заставить перенаправления выполнять запрос POST вместо запроса GET?

У меня есть следующий скрипт карате, который по умолчанию имеет перенаправления включены.

  Scenario: First Test
    Given path 'somePath'
    And request ''
    And header Content-Type = 'text/html'
    And param _csrf = csrf
    And param username = 'username'
    And param password = 'password'
    When method post
    Then status 200

Проблема в том, что после получения 302 от API, следующий запрос автоматически отправляет запрос GET. Я хотел бы отправить запрос POST.

в cURL есть существующий параметр, который позволяет пользователям делать это. увидеть ниже.

--post302 Не переключаться на GET после следующих 302

есть ли вообще сделать это в карате DSL?

1 ответ

Да, пожалуйста, прочитайте документы для configure folowRedirects, Существует также пример того, как читать Location Заголовок ответа, чтобы вручную сделать запрос, который вы хотите.

Scenario: get redirects can be disabled
* configure followRedirects = false
Given path 'redirect'
When method get
Then status 302
And match header Location == demoBaseUrl + '/search'
* def location = responseHeaders['Location'][0]
Given url location
Другие вопросы по тегам