#jmeter
Вопрос:
В теле ответа у меня есть следующий JSON, который содержит и идентификатор, и в качестве дочернего элемента имя, и я хочу выбирать случайное имя и соответствующий ему идентификатор каждый раз, когда я запускаю свой тест, как это сделать?
Возможно, через постпроцессор или экстрактор json, я новичок в JMeter.
{
"entities": {
"chairs": {
"a99a921e-9ced-43eb-8521-a8e972c5afee": {
"id": "a99a921e-9ced-43eb-8521-a8e972c5afee",
"accountId": "02a39418-2936-4696-9f3f-02f503128ac7",
"description": null,
"isActive": true,
"pmsId": "5079767850816079897",
"name": "PranayOP",
"createdAt": "2021-03-18T17:46:53.253Z",
"updatedAt": "2021-03-18T17:46:53.253Z",
"deletedAt": null
},
"eb125d3a-739f-479c-b803-dbffb6a871d0": {
"id": "eb125d3a-739f-479c-b803-dbffb6a871d0",
"accountId": "02a39418-2936-4696-9f3f-02f503128ac7",
"description": null,
"isActive": true,
"pmsId": "-3332289498024566266",
"name": "OVERFLOW",
"createdAt": "2021-03-16T00:42:35.115Z",
"updatedAt": "2021-03-16T00:42:35.115Z",
"deletedAt": null
},
"36891051-1edf-46ea-a167-68d39a8a70f5": {
"id": "36891051-1edf-46ea-a167-68d39a8a70f5",
"accountId": "02a39418-2936-4696-9f3f-02f503128ac7",
"description": null,
"isActive": true,
"pmsId": "-4453494259576621766",
"name": "OP55",
"createdAt": "2021-03-20T02:19:00.494Z",
"updatedAt": "2021-03-20T02:19:00.494Z",
"deletedAt": null
},
"85a2564e-7cd1-4e69-be5d-a979b5e56cd5": {
"id": "85a2564e-7cd1-4e69-be5d-a979b5e56cd5",
"accountId": "02a39418-2936-4696-9f3f-02f503128ac7",
"description": null,
"isActive": true,
"pmsId": "8283273375660346038",
"name": "OP02",
"createdAt": "2021-03-16T00:42:34.832Z",
"updatedAt": "2021-03-16T00:42:34.832Z",
"deletedAt": null
}
}
},
"result": [
"a99a921e-9ced-43eb-8521-a8e972c5afee",
"eb125d3a-739f-479c-b803-dbffb6a871d0",
"36891051-1edf-46ea-a167-68d39a8a70f5",
"85a2564e-7cd1-4e69-be5d-a979b5e56cd5"
]
}
Ответ №1:
- Добавьте JSON JMESpath Extractor в качестве дочернего элемента запроса, который возвращает указанный выше JSON
- Настройте его следующим образом:
вот текстовое представление запроса JMESpath на всякий случай:
entities.chairs.*.[name,id]
- Вот и все, каждый раз он будет получать случайную комбинацию имени/идентификатора в виде
["OP55","36891051-1edf-46ea-a167-68d39a8a70f5"]
на которые
${nameAndId}
при необходимости можно ссылаться
Дополнительная информация: JMeter JSON JMESpath Экстрактор и утверждение: Руководство
Комментарии:
1. Спасибо, Дмитрий, но результат приходит с [«OP55″,»36891051-1edf-46ea-a167-68d39a8a70f5»], как получить только значения ? пробовал с ${}, но мне нужны только OP55 и 36891051-1edf-46ea-a167-68d39a8a70f5