JMeter передает значение ответа JSON следующему запросу - PullRequest
0 голосов
/ 30 ноября 2018

Я использую 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 сследующие настройки (в примере показан регистр с одной переменной):

enter image description here

и в следующем HTTP-запросе GET со ссылкой на параметр как ${var1}.

Как установить JSON Extractor для извлечения значения, сохранить в переменную JMeter, которая будет использоваться в следующем запросе http GET?

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018
  1. Правильный запрос JSON Path будет выглядеть примерно так:

    $..key1.subKey[${__Random(0,1,)}]
    
  2. Вам необходимо переключить значение Apply to либо на Main sample only, либо на Main sample and sub-samples

    enter image description here

В вышеуказанной настройке:

  • Номер матча: 0 - говоритJMeter для получения случайного значения из key1 подключа
  • ${__Random(0,1,)} - получает случайный элемент из массива, т.е. 9.120968 или 39.255417

Дополнительная информация:

0 голосов
/ 30 ноября 2018

Опция «Имя переменной JMeter для использования», которую вы там включили, означает, что вы будете проверять содержимое этой переменной INSTEAD в примере результата.

Так что исправление очевидно: если вы намереваетесьчтобы извлечь то, что вы извлекаете из результата Sample - измените его обратно на него.

PS Если вы намерены сделать обратное (обрабатывать содержимое переменной, а не результат выборки) - дайте мне знать, пожалуйста.

...