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 ответ

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

    $..key1.subKey[${__Random(0,1,)}]
    
  2. Вам нужно переключиться 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 Если вы намерены сделать обратное (обработать содержимое переменной, а не пример результата) - сообщите мне, пожалуйста.

Другие вопросы по тегам