Извлеките значения из тела запроса post

#jmeter

Вопрос:

Я хочу извлечь два значения из тела запроса post. Как я могу это сделать в JMeter?

request-url: http://localhost:8080/webimpactclean/progress/createTrialUnits.do

 POST data:
org.apache.struts.taglib.html.TOKEN=21b148643555da16dcd3ca2f32439b88amp;fakeSubmitButton=Submitamp;patientMonitoringFlagCopyDown=amp;enteredScreeningCopyDown=amp;enteredBaselineCopyDown=amp;enteredTreatmentCopyDown=amp;completedTreatmentCopyDown=amp;enteredFollowUpCopyDown=amp;completedFollowUpCopyDown=amp;create[0]=onamp;displayUnitNo[0]=1167amp;trialUnitReference[0]=PERFT1167amp;primaryInvestigatorShortNameDisabled[0]=amp;primaryInvestigatorShortName[0]=amp;primaryInvestigator[0]=amp;primaryCentreShortNameDisabled[0]=amp;primaryCentreShortName[0]=amp;primaryCentre[0]=amp;primaryCentreShortNameTemp[0]=amp;primaryCentreTemp[0]=amp;centreDepartmentName[0]=amp;centreName[0]=amp;centreLocationAddress[0]=amp;centreLocationAddressTemp[0]=amp;addressLine1[0]=amp;addressLine2[0]=amp;addressLine3[0]=amp;addressLine4[0]=
 

И я хочу получить displayUnitNo[0]=1167amp;trialUnitReference[0]=PERFT1167 значения, которые являются 1167 и PERFT1167 .

Ответ №1:

Обычно люди хотят извлекать данные из ответов, поэтому нет никакого смысла извлекать данные из запроса, потому что у вас уже должны быть эти данные. Если вы хотите иметь разные данные для каждого пользователя/итерации — вам следует параметризовать тело запроса.

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

 def parameters = sampler.getArguments().argumentsAsMap

vars.put('trialUnitReference', parameters.get('trialUnitReference[0]'))
vars.put('displayUnitNo', parameters.get('displayUnitNo[0]'))