JMeter JSON Extractor, извлекает все значения одного ключа в строку

При использовании Apache JMeter версии 3.2 r1790745 (последней версии) для тестирования веб-службы JSON ответ будет примерно таким:

[ {
   "id" : 3,
   "description" : "Back",
   "name" : "back"
}, {
   "id" : 1,
   "description" : "Front",
   "name" : "front"
}, {
   "id" : 6,
   "description" : "Left",
   "name" : "left"
}]

Хотите проанализировать приведенный выше ответ, чтобы получить все идентификаторы в одной строке в JSON Extractor, например

3,1,6

Мои выражения пути JSON выглядят так:

$..id

Но я получил только 1-й идентификатор, равный 3, тот же результат, что и $.[0].id Проверка результата в постпроцессоре BeanShell. Если я перейду на http://jsonpath.com/ $ .. id даст мне

[
  3,
  1,
  6
]

person brewphone    schedule 09.05.2017    source источник
comment
Я получаю myvar=[3,1,6], как вы упомянули. Я не вижу ошибок в вашем синтаксисе.   -  person NaveenKumar Namachivayam    schedule 09.05.2017


Ответы (1)


Если вы настроите свой JSON Extractor следующим образом:

Конкатенация экстрактора JSON

Вы получите необходимое значение как ${foo_ALL}

Конкатенация JMeter JSON


Я не думаю, что использование Beanshell - лучший способ проверить значение переменной JMeter, в дальнейшем я бы предложил использовать Debug Sampler, см. Как отладить ваш Сценарий Apache JMeter для получения дополнительных сведений.

person Dmitri T    schedule 10.05.2017
comment
Как можно использовать другие символы вместо запятой для разделения значений? - person RJM; 08.02.2020