JMeter передает значение ответа JSON следующему запросу
Я использую JMETER для тестирования веб-приложения.
Сначала я выполняю http GET-запрос, который возвращает массив JSON, такой как:
[
{
"key1":
{
"subKey":
[
9.120968,
39.255417
]
},
key2 : 1
},
{
"key1":
{
"subKey":
[
9.123852,
39.243237
]
},
key2 : 10
}
]
В основном я хочу, чтобы случайным образом взять один элемент, взять элементы key1
и создайте 2 переменные в JMeter, которые будут использоваться для следующего запроса (если случайным образом это невозможно, чем только 1-й элемент).
Я пытался с помощью JSON Extractor
со следующими настройками (в примере показан регистр с одной переменной):
и в следующем запросе http GET, ссылаясь на параметр как ${var1}
,
Как установить JSON Extractor
чтобы извлечь значение, сохранить в переменную JMeter, которая будет использоваться в следующем запросе http GET?
1 ответ
Правильный запрос JSON Path будет выглядеть примерно так:
$..key1.subKey[${__Random(0,1,)}]
Вам нужно переключиться
Apply to
значение либоMain sample only
илиMain sample and sub-samples
В приведенной выше настройке:
- Матч №:
0
- говорит JMeter, чтобы получить случайное значение изkey1
подраздел ${__Random(0,1,)}
- получает случайный элемент из массива, т.е.9.120968
или же39.255417
Дополнительная информация:
Опция "Имя переменной JMeter для использования", которую вы там включили, означает, что вы будете проверять содержимое этой переменной INSTEAD из Sample result.
Таким образом, исправление очевидно: если вы намереваетесь извлечь то, что извлекаете из результата Sample - верните его обратно.
PS Если вы намерены сделать обратное (обработать содержимое переменной, а не пример результата) - сообщите мне, пожалуйста.