0

構築中の API で Jmeter テストを実行しています。
オーバーロードされた場合、API はこれを返します。

{"status":{"type":"failure","cause":"internal","http":500}}

私がやりたいのは、その結果が得られた場合に JMeter も一時停止することです。

これらのエラーをキャプチャする応答アサーションを既にセットアップしています。これは設定が簡単なように思えますが、私はそれを見ていません。If Controller を追加できることがわかりましたが、それは Javascript 変数でのみ機能します。

正規表現エクストラクタを追加し、その「失敗」を「タイプ」変数として取得し、それを If コントローラに追加する必要がありますか?
少し複雑すぎるようですか?
何か不足していますか?

4

1 に答える 1

2

この状況を処理するには、 BeanShell タイマーを使用してみてください。

これ

  • スクリプトを作成できるため、必要に応じてタイマーの動作をプログラムできます。
  • ctx変数を介してjmeterコンテキストにアクセスできるため、ResponseCode条件を処理できます。

ここでは、使用方法の例を含む良い記事を見つけることができます。
そしてここ- beanshell 変数にアクセスし、応答コードを処理する方法。

あなたの状態は次のようになります。

if (prev.getResponseCode().equals("500") == true) { 
    . . .
}

注意: BeanShell タイマーで使用されるスクリプトは、待機するミリ秒数として使用される値を返す必要があります。

別の質問は、これを行う理由は何ですか。
負荷/ストレス テストのシナリオがある場合、これらの結果は、テスト中に取得してから分析する必要があるものです。
ある種の「機能的な」テストシナリオがある場合、この状況をより一般的な方法で処理する必要があり、適切に構成されたタイマーを各サンプラーに追加して、過負荷を回避したり、「実際の」シナリオをシミュレートしたりします。
何か不足していますか?

于 2012-04-11T18:26:49.170 に答える