Пример ответа Json:
{
"data": {
"types": [
{
"attributes": [
{
"body": {
"id": 123
}
},
{
"body": {
"id": 456
}
}
]
},
{
"attributes": [
{
"body": {
"id": 456
}
},
{
"body": {
"id": 123
}
}
]
}
]
}
}
Я хочу подтвердить, что все идентификаторы равны 123, если значения отличны от 123, тест Гатлинга должен завершиться ошибкой.
Я пробовал приведенный ниже код, который не соответствует утверждению, но отчет gatling показывает, что он прошел. Как я предполагаю, assert - это несложное утверждение, а не утверждение гатлинга.
val testSC1 = scenario("Sample-test")
.exec(http("Test-Post")
.post("dataservice/v1/test")
.header("Authorization", getToken)
.body(StringBody(getPayload))
.asJSON
.check(jsonPath("$.data.types[*].attributes[*].body.id").findAll.saveAs("getAllId"))
).
exec
{ session =>
//println(session("getAllId").as[String])
val iDs = session("getAllId").as[Seq[String]]
for (getEachId <- iDs)
{
assert(getEachId.equals("123"),"Actual: "+getEachId+"Expected : 123")
}
session
}
Как выполнить итерацию значений в методе .check $ .data.types [] .attributes [] .body.id?
Или любое другое лучшее решение будет полезным.