В моем первом запросе я могу извлечь значение с помощью средства извлечения регулярных выражений, которое четко видно в сэмплере отладки. Значение извлекается путем установки следующих параметров в средстве извлечения регулярных выражений:
Name of Created Variable:- instanceUID
Regular Expression:- "InstanceUid":"(.*?)"
Template:-$1$
Match No:-1
Default Value:- (Blank)
Значение, которое я хочу передать в следующем запросе POST, отображается как: -
instanceUID_g1=2ab5dfb8-a217-4ff2-9025-523565b7b7ad
И тело для следующего HTTP-запроса POST устанавливается следующим образом:
${"iInfo":{"InstanceUid":"${instanceUID_g1}","Registry":"${Registry}"}}
Когда этот запрос подробно рассматривается в дереве результатов просмотра, он выглядит так: -
${"iInfo":{"InstanceUid":"${instanceUID_g1}","Registry":"AAX"}}
Как видно, значение ${instanceUID_g1}
не было заменено в теле POST, как для переменной ${Registry}
, которая была взята из конфигурации CSV.
Будучи новичком в Jmeter, кто-нибудь может подсказать, что я пропустил?
Скорее всего, ваше расположение экстрактора регулярных выражений не очень правильное, будьте в курсе концепции JMeter Scoping Rules
Если вы поместите средство извлечения регулярных выражений в качестве дочернего элемента запроса, оно будет применяться только к этому запросу.
Если вы разместите экстрактор регулярных выражений на одном уровне с несколькими запросами, он будет применен ко всем из них.
в последнем случае он будет применен с 1-го к 1-му сэмплеру, затем к отладочному сэмплеру, затем к 3-му сэмплеру, поэтому на 2-м шаге он будет перезаписан, скорее всего, это ваша проблема.
Также кажется, что вы получаете данные из JSON , поэтому имеет смысл использовать JSON Extractor или JMESPath Extractor