由于某些原因
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"
我想念什么吗?
答案 0 :(得分:2)
asJSON
构造的目的是自动将请求的Accept
标头强制为application/json
,从而覆盖您的初始标头。
只需删除asJSON
,就可以了。
答案 1 :(得分: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