【发布时间】:2019-02-10 17:49:34
【问题描述】:
我有一个包含 JSON 数组的 JSON 文件
test.json
[
{ "Name": "Bob" },
{ "Age": "37" },
{ "DOB": "12/01/1985"}
]
我想针对一个端点测试 JSON 数组中的每个相应元素,以观察系统针对唯一有效负载的性能
目前我有
testService.scala
val payload = jsonFile("test.json").circular
val httpProtocol = http
.baseURL("http://test.com")
.headers(Map("Content-Type" -> "application/json"))
val scn = scenario("Test Service")
.feed(payload)
.exec(http("test_request")
.post("/v1/test")
.queryParam("key", "123")
.body()
我无法将 .body() 中有效负载中的每个子节点作为 JSON 传递
Gatling Docs 说 JSON Feeder 将 Array 的每个元素加载到记录集合中
https://gatling.io/docs/2.3/session/feeder/
即:
record1: Map("id" -> 19434, "foo" -> 1)
record2: Map("id" -> 19435, "foo" -> 2)
并将正文设置为.body(StringBody("""[{"id": ${id}}]"""))
问题是我有不同的键(姓名、年龄、出生日期),我希望每个键都发送不同的请求。
.body(StringBody("""[{"KEY_NAME_HERE": ${KEY_NAME_HERE}}]"""))
我如何做到这一点?
【问题讨论】:
标签: json scala performance gatling