JMeterは - どのように失敗した応答のための完全な要求をログに記録するには?

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

  •  19-09-2019
  •  | 
  •  

質問

私は、当社のウェブサイトのAPIをストレステストするためにJMeterのコマンドラインを使用しています。さて、ここで私が戻って取得していたサンプルの結果があります:

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>

だから私はエラーを取得しています。

現在、すべてのエラーは、ファイルしようとしています。私はそのファイルをチェックインすると、OK ... 404 Erのだと言っています。私が見ることができるとにかくあります。の正確の要求が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>
特に場合は...誰かが「Webサーバのログファイルを確認してください」と言う前に、

さて、私はこれを行うことができます知っていて、うん、私は404を発見しました..しかし、私はそれがそれらにアクセスしなくても可能ですかどうかを確認するために願っています彼らは別のサーバー上にある、および/または私はそれらへのアクセスを取得することはできません。 助けてください!

役に立ちましたか?

解決

ビューは、ツリーのコンポーネントが表示さ結果あなたが任意のサンプルの要求と応答の両方を表示することができ、すべてのサンプルの応答の木、。

とき負荷テスト(常にNON GUIモードの中の)、エラーで応答を保存する "ファイル名" フィールドに入力のみに選択します:

 ビュー

あなたが上見ることができるように

私たちは、CSVのものを除くすべてのフィールドを選択するように設定をクリックします。

また、ファイル

他のヒント

私はこのスレッドはサンプラーが失敗したので、受け入れられた解決策は、私にとっては良くないときののみの応答を記録するためのソリューションを探して見つけました。私はのために良いことがありますどの((それはサイズが数ギガバイトに達するだろう)ので、木のリスナーが私のために完全に非現実的である、サンプルの数十万人を含む、非常に高い負荷で時折サンプルの障害を持っているので、ここで私が思い付いたものです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