header («Принять», «application / json; v = 1») не работает в тестах Гатлинга? - PullRequest
0 голосов
/ 24 сентября 2018

По какой-то причине

http("Update WishList")
.put("/api/update/${id}")
.header("Accept", "application/json;v=1")
.body(ELFileBody("bodies.json")).asJSON
.check(status.is(200))

вызывает > status.find.is(202), but actually found 406

Но я знаю, что служба ожидает "application/json;v=1"

Проверил фактические запросы с Fiddler и обнаружил, чтоAccept Заголовок "application/json" вместо "application/json;v=1"

Я что-то упустил?

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Цель конструкции asJSON состоит в том, чтобы автоматически принудительно установить заголовок Accept запроса на application/json, следовательно, переопределить ваш начальный заголовок.

Просто удалите asJSON, и это должно бытьхорошо.

0 голосов
/ 25 сентября 2018

Попробуйте следующее:

var httpConf = http.baseURL("http://example.com")
.header("Accept", "application/json;v=1")

var testSetup = setUp(testScenario.inject(virtualUsers).protocols(httpConf))

Для меня это отправляет соответствующий заголовок:

Gatling Taurus Header

Версия Гатлинга 2.3.0


Конфигурация была сгенерирована инструментом Taurus с использованием следующего синтаксиса YAML:

execution:
- executor: gatling
iterations: 1
concurrency: 1
ramp-up: 1
hold-for: 1
scenario: some_scenario

scenarios:
some_scenario:
default-address: example.com
headers:
Accept: application/json;v=1
requests:
- url: /
      follow-redirect: false
...