Gatling:- чтение нескольких JSON полезных данных из одного файла

Я делаю много HTTP-запросов с JSON Payload и читаю один файл на каждый запрос, чтобы получить 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 ответ

Решение

Из официальной документации Гатлинга я нашел 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)

Обратите внимание, что корневой элемент, конечно, должен быть массивом.

Другие вопросы по тегам