Jmeter - Извлечь JSON значение поля запроса SENT - PullRequest
1 голос
/ 12 марта 2020

Я пытаюсь получить данные от отправленного JSON и использовать их далее в другом запросе.

Мой отправленный JSON также имеет динамические c переменные, такие как $ {data}, поэтому хитрость заключается в том, что он должен выполняться первым, чтобы иметь возможность извлечь.

Допустим, я иметь следующие SENT JSON:

{

"field_one": $ {data1},

"field_three": [больше данных],

"field_two": $ {data2}

}

Вопрос: Как извлечь значения "field_one" и "field_two" из отправленного запроса? Спасибо

1 Ответ

1 голос
/ 12 марта 2020

Вам не нужно извлекать их, они ${data1} и ${data2}, поэтому вы можете повторно использовать эти Переменные JMeter в любом месте скрипта.


Если я не понимаю что-то очевидное или вам нужно скопировать значения в другие переменные JMeter, вы можете извлечь их следующим образом:

  1. Добавить JSR223 PostProcessor как дочерний элемент запроса, который отправляет выше JSON
  2. Поместите следующий код в область «Сценарий»:

    def requestBody = new groovy.json.JsonSlurper().parseText(sampler.getArguments().getArgument(0).getValue())
    vars.put('field_one', requestBody.field_one)
    vars.put('field_two', requestBody.field_two)
    
  3. Вот и все, теперь у вас должны быть ${field_one} и ${field_two} переменные JMeter, содержащие значения, которые вы ищете.

В приведенном выше примере sampler означает HTTPSamplerProxy и vars для JMeterVariables , проверить Top 8 JMeter Java Классы Вы должны использовать с Groovy для получения подробной информации о вышеупомянутых и других сокращениях API JMeter, доступных для тестовых элементов JSR223.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...