Gatling: - 从单个文件中读取多个JSON Payload

时间:2016-08-12 05:41:18

标签: java scala scala-collections gatling

我正在使用JSON Payload进行许多HTTP请求,并且我正在为每个请求读取一个文件以获取JSON Payload,如下所示。

  postPayload1 = val postPayload = ElFileBody("Test_case1.json")

  val TC1 = feed(accountNumberFeeder1)
    .exec(http(testCase1).post(appendPathToUrl).headers(common_header).body(postPayload).asJSON
    .check(status.is(200)
    )

但是,它现在在我的资源目录中变成了如此多的JSON文件。因此,我可以将所有JSON合并到一个文件中,如下所示。

{"testCase1":{
  "activationSource": "HH",
  "accountStatus": null,
}
}

{"testCase2":{
  "activationSource": "HH",
  "accountStatus": null,
}
}

并使用我的密钥“testCase1”,“testCase2”等访问它?

val postPayload = ElFileBody("Test_case.json")

1 个答案:

答案 0 :(得分:0)

从Gatling官方文档中,我找到了http://gatling.io/docs/2.2.1/session/feeder.html

JSON馈线 有些人可能希望使用JSON格式的数据而不是CSV:

val jsonFileFeeder = jsonFile("foo.json")
val jsonUrlFeeder = jsonUrl("http://me.com/foo.json")

例如,以下JSON:

[
  {
    "id":19434,
    "foo":1
  },
  {
    "id":19435,
    "foo":2
  }
]

将变为:

record1: Map("id" -> 19434, "foo" -> 1)
record2: Map("id" -> 19435, "foo" -> 2)

请注意,根元素当然是一个数组。