2017-12-27 3 views
0

요청이 2 개 있습니다. 한 요청에서 임의의 텍스트 생성기를 사용하여 임의의 문자열을 생성하고이를 변수에 전달했습니다. 그런 다음 임의의 이름으로 새 레코드가 만들어지고 고유 한 ID가 만들어집니다. 그 기록의 ID를 가져오고 싶습니다. JSON 추출기를 사용하여 어떻게 추출 할 수 있습니까?JSON 추출기를 사용하여 응답에서 값 추출

EG.

Srno 이름 ID 1 xvyhz 1,230에서 1,236 사이 (일부 ID) 이 나는 ​​임의의 문자열 발생기 기능에 의해 생성 된 '의 Abczz'의 ID를 얻으려면 (일부 ID)

1,230에서 1,236 사이의 Abczz 'variablename'변수에 저장됩니다. JSON 추출기를 사용하여 생성 된 문자열의 ID를 추출하는 방법.

+0

을 질문의 형식을 지정하여 JSON 형식을 지정하십시오. 명확하게 보이는 유효한 –

+0

{ "locationApportionments" [ { "groupLocationId"널 (null), } , "m" [ { "meterId": "8ea69980-5771-4650- af37-37dff115a9d7 " "meterName ":"xyzio " }, { "meterId ":"aa2618ec-00a1-4962-93cf-71b142e9bb4c ", "meterName ":"abcio " } ], "제작물": null, } –

+0

@DmitriT : 이상은 json 응답입니다. 즉, 미터 이름은 임의의 문자열 함수로 생성됩니다. 그리고 기록이 저장되면 meterid가 생성됩니다. 나는 하나의 변수 'meterid'에 무작위로 생성 된 문자열을 저장했다. 그래서이 변수 'meterid'로 미터 id를 추출하는 방법 –

답변

0

당신이 meterName이 관련 JSON Path 표현은 같은 것 abcio입니다 meterId 속성 값을 찾는 경우 :

$..[?(@.meterName == 'abcio')].meterId 

데모 :

JMeter JSONPath Conditional Select

더 많은 정보 : API Testing With JMeter and the JSON Extractor

+0

하지만 미터 이름은 무작위로 생성되어 'metername'변수 이름에 저장된다. 그래서 배치에서 실행하는 동안 그 변수에 저장된 생성 된 값을 가져와야 할 것입니다. 이걸 할 수 있을까요? meter 디렉토리 –

+0

물론, 거기에 JMeter 변수를 넣을 수 있습니다. –

+0

변수 이름을 사용하면 id를 추출하지 않습니다. $ .. [? (@. meterName == '$ {metername}')]. $ .. [? (@. meterName == '$ {metername}')]. meterId 추출 된 값을 디버깅하기 위해 디버그 샘플러도 추가했습니다. 그러나 그것은 가치를 추출하지 못했습니다. 그러나 정적 이름을주고 식으로 디버깅하면 잘 작동합니다. 하지만 변수 이름을 사용할 때는 그렇지 않습니다. –

관련 문제