JMETER- 실패한 응답에 대한 전체 요청을 기록하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1515689

  •  19-09-2019
  •  | 
  •  

문제

JMeter Command Line을 사용하여 웹 사이트 API를 스트레스 테스트하고 있습니다. 이제 다시 돌아 오는 샘플 결과가 있습니다.

Creating summariser <summary>
Created the tree successfully using street_advisor.jmx
Starting the test @ Sat Oct 03 15:22:59 PDT 2009 (1254608579848)
Waiting for possible shutdown message on port 4445
summary +     1 in   0.0s =   37.0/s Avg:    27 Min:    27 Max:    27 Err:     1 (100.00%)
<snip a few more lines>
<then i break it>

그래서 나는 오류가 발생하고 있습니다.

현재 모든 오류는 파일로 이동합니다. 그 파일을 확인할 때, 그것은 404라고 말하고 있습니다. 어쨌든 내가 볼 수 있는가? 바로 그거죠 JMeter가 시도한 요청은 무엇입니까?

여기 내 구성 파일의 스 니펫이 있습니다 ...

<ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Error Writer" enabled="true">
          <boolProp name="ResultCollector.error_logging">true</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>false</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
            </value>
          </objProp>
          <stringProp name="filename">./error.jtl</stringProp>
        </ResultCollector>

이제 누군가가 '웹 서버 로그 파일 확인'이라고 말하기 전에, 나는 이것을 할 수 있다는 것을 알고 있습니다. 네, 404를 찾았습니다. 다른 서버 및/또는 나는 그들에게 액세스 할 수 없습니다. 도와주세요!

도움이 되었습니까?

해결책

그만큼 결과 트리보기 구성 요소에는 모든 샘플 응답의 트리가 표시되어 샘플에 대한 요청과 응답을 모두 볼 수 있습니다.

로드 테스트시 (항상 비 GUI 모드에서), "Filename"필드를 작성하고 오류의 응답 만 저장하려면 선택하십시오.

View Results Tree in error

위에서 볼 수 있듯이 CSV를 제외한 모든 필드를 선택하도록 구성을 클릭했습니다.

또한 사용을 사용하여 파일에 전체 응답을 저장할 수도 있습니다. 파일에 응답을 저장합니다:

Save Responses to a file

다른 팁

이 스레드가 응답을 기록하는 솔루션을 검색하는 것을 발견했습니다. 샘플러가 실패하면 허용 된 솔루션은 나에게 좋지 않습니다. 수십만 개의 샘플이 포함 된 매우 높은 하중에서 가끔 샘플 고장이 있으므로 트리 리스너는 나에게 완전히 비현실적입니다 (크기가 여러 기가 바이트에 도달 할 것입니다). OP의 시나리오도) :

을 추가하다 [JSR223 Assertion][1] (다른 모든 주장을 따라 와야합니다) 아래 코드를 넣습니다.

if (Boolean.valueOf(vars.get("DEBUG"))) {
  for (a: SampleResult.getAssertionResults()) {
    if (a.isError() || a.isFailure()) {
      log.error(Thread.currentThread().getName()+": "+SampleLabel+": Assertion failed for response: " + new String((byte[]) ResponseData));
    }
  }
}

이렇게하면 응답이 실제로 작지만 대규모 응답의 경우보다 지능적인 처리가 수행 될 수 있기 때문에 전체 응답이 JMeter 로그 파일에 기록됩니다.

'파일에 대한 응답 저장'리스너가 있습니다. 오류가 발생한 경우에만 파일에 저장할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top