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)
Обратите внимание, что корневой элемент, конечно, должен быть массивом.