JMeter- JSON 응답에서 'id'변수를 추출하고 CSV 파일에 저장하고 스레드를 분해하여 사용합니다.

Peeyush Mishra

내 게시물 요청에서 응답에 다음과 같은 ID 만있는 작업을 만듭니다.

{"id":626}

그리고 csv 또는 모든 파일에 626 인 id 값을 저장하고 테스트가 완료된 후이 파일의 모든 값을 사용하여 tear down스레드 그룹 의 작업 상태를 확인하고 싶습니다 .

이것을 완료하는 방법? 다음 스크립트가 있지만 오류가 발생합니다.

new groovy.json.JsonSlurper().parse(prev.getResponseData()).id.each { entry ->
    new File('result.csv') << entry.get('id') << System.getProperty('line.separator')
}

오류 정보,

2021-01-15 12:13:05,699 ERROR o.a.j.e.JSR223PostProcessor: Problem in JSR223 script, JSR223 PostProcessor
javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: java.lang.Integer.get() is applicable for argument types: (String) values: [id]
Possible solutions: getAt(java.lang.String), next(), grep(), grep(java.lang.Object), wait(), abs()
드미트리 T

just로 변경 entry.get('id')하면 entry작동합니다.

new groovy.json.JsonSlurper().parse(prev.getResponseData()).id.each { entry ->
    new File('result.csv') << entry << System.getProperty('line.separator')
}

그러나 접근 방식에 잠재적 인 문제가 있습니다. 1 개 이상의 스레드로 스크립트를 실행 하면 여러 스레드가 동일한 파일에 동시에 쓸 때 경쟁 조건 이 발생할 수 있으므로 오류 방지 접근 방식은 다음과 같습니다.

  1. user.properties 파일에 다음 행을 추가 하십시오.

    sample_variables=id
    
  2. 다음 과 같이 구성된 JSON JMESPath 추출기를 사용하여 응답에서 ID를 추출하십시오 .

    여기에 이미지 설명 입력

  3. Flexible File Writer사용 하여 값을 파일 에 씁니다.

    여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관