2

由于某些原因

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 检查了实际的请求,发现Acceptheader"application/json"不是"application/json;v=1"

我错过了什么吗?

4

2 回答 2

3

asJSON构造的目的是自动强制Accept请求的标头为application/json,从而覆盖您的初始标头。

只需删除asJSON,它应该没问题。

于 2018-09-25T08:00:19.413 回答
0

尝试以下方法:

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

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

对我来说,它发送相关的标题:

加特林金牛座头

加特林版本是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
于 2018-09-25T06:53:12.070 回答