Синтаксис для использования параметров в разделе «Тело» сэмплера HTTP-запросов в JMeter с использованием POST-запроса Rest API с телом и входными данными из файла CSV - PullRequest
1 голос
/ 16 февраля 2020

Я использую JMeter для тестирования микросервиса, и мне нужно динамически использовать параметр с различным значением в каждом запросе. Кроме того, параметр является частью запроса, который также содержит другие постоянные значения.

Я определил пользовательские переменные в файле JMeter user.properties (в JMeter bin папка):

JMeter - bin / user.properties

# Parameters to use in JMeter
ES_HOST=127.0.0.1
ES_PORT=9200
ES_INDEX=segments
ES_TYPE=_doc
THREAD=5
CSVDATA_ROOT=C:/devtools/apache-jmeter-5.2.1/csv_data

Конечно, у меня есть Пользовательские переменные : User Defined Variables

И как мой План испытаний определен в JMeter Thread Group Users

CSV Data Set Config

HTTP Request

Как вы можете видеть на следующем скриншоте Просмотр дерева результатов параметр agentName Я определил и показал в HTTP-запрос (выше) работает.

Я хочу определить его в теле HTTP-запроса, чтобы заменить жестко закодированный «Джон Доу» на параметры, которые имеют разные значения в каждом запросе.

"query":"SearchStartTime=2020-01-01 00:00:00.000TO2020-01-31 23:59:59.999&AgentName=John Doe"}

Как я могу это сделать? Мне нужен способ добавить параметр в существующую строку

Я уже пробовал Использование Apache JMeter для тестирования Elasticsearch (или любого REST API) и В Jmeter, Какой будет синтаксис параметров в разделе Body Data в HTTP Request Sampler, для Rest API и входные данные должны генерироваться динамически также не решает мою проблему.

View Result Tree

1 Ответ

0 голосов
/ 16 февраля 2020

Использовать тот же синтаксис, что и для HTTP-запроса - ${agentname} для получения значения переменной:

"query":"SearchStartTime=2020-01-01 00:00:00.000TO2020-01-31 23:59:59.999&AgentName=${agentname}"
...