主張 JMeter: 応答アサーションの例

⚡ スマートサマリー

主張 JMeter テスト対象のサーバーが期待どおりの応答を返すことを検証し、パフォーマンステスターが負荷テスト中に応答内容、ステータスコード、応答時間、バイトサイズ、およびドキュメント形式を検証して正確性を確認できるようにします。

  • 応答の主張: サーバー応答のフィールド内のパターンを照合します。
  • 豪華<XNUMXxXNUMXF><XNUMXxXNUMXF><XNUMXxBXNUMX><XNUMXxBXNUMX>️ 期間の表明: 設定された制限よりも遅い応答をすべて警告します。
  • 📦 サイズに関する主張: レスポンスサイズをバイト単位で確認します。
  • 🧾 XMLとHTMLのアサーション: XMLまたはHTMLレスポンスの構文を検証します。
  • 🤖 AI 支援: AIは主張を提案し、異常な結果にフラグを立てる。

主張 JMeter

アサーションとは何ですか?

アサーションは、テスト対象のサーバーが以下の値を返すことを検証するのに役立ちます。 予想される 結果。

アサーションの種類

以下は、よく使われるアサーションです。 JMeter:

  • 応答アサーション
  • 期間アサーション
  • サイズアサーション
  • XML アサーション
  • HTML アサーション
  • 応答アサーションを使用する手順

応答アサーション

応答アサーション

応答アサーションを使用すると、サーバー応答のさまざまなフィールドと比較するパターン文字列を追加できます。

例えば、ユーザーリクエストを送信すると、 http://www.google.com そしてサーバーからの応答を取得します。レスポンスアサーションは、応答が正しいかどうかを検証できます。 含まれています 想定されるパターン文字列(例:「OK」)。

期間アサーション

Duration Assertion は、各サーバー応答が一定時間内に受信されたことをテストします。 所定の金額 応答時間。指定されたミリ秒数よりも長い応答時間は、失敗とみなされます。

たとえば、ユーザーリクエストは次のように送信されます。 www.google.com by JMeter 以内に応答を取得します 予想される 時間 5 ミリ秒、その後 テストケース 合格、そうでない場合、テスト ケースは失敗しました。

期間アサーション

サイズアサーション

サイズアサーションは、各サーバー応答に期待されるバイト数が含まれていることをテストします。サイズは、指定されたバイト数と等しい、より大きい、より小さい、または等しくない、のいずれかで指定できます。

JMeter ユーザーリクエストを送信します www.google.com そして、より小さい応答パケットを受け取ります。 予想される 5000バイトであればテストケースは合格、そうでなければ不合格となる。

XML アサーション

その XML アサーションは、応答データが形式的に正しい XML ドキュメントで構成されているかどうかをテストします。

XML アサーション

HTML アサーション

HTML アサーションを使用すると、ユーザーは応答データの HTML 構文をチェックできます。 これは、応答データが HTML 構文を満たす必要があることを意味します。

HTML アサーション

応答アサーションを使用する手順

以前に開発したスクリプトを続けていきます チュートリアル.

このテストでは、 応答アサーション www.google.com からの応答パケットが予想される文字列と一致するかどうかを比較します。

ここにある ロードマップ このテストの場合:

応答アサーションを使用する手順

応答アサーション コントロール パネルを使用すると、応答のさまざまなフィールドと比較するパターン文字列を追加できます。

ステップ 1) 応答アサーションを追加する

右クリックする スレッドグループ -> 追加 -> アサーション -> 応答アサーション

応答アサーションの追加

応答アサーション ペインは次の図のように表示されます。

応答アサーションの追加

ステップ 2) テストにパターンを追加する

リクエストを送信すると Google サーバーは、いくつかのものを返す可能性があります。 応答コード 以下のように:

  • 404: サーバーエラー
  • 200: サーバーOK
  • 302ウェブサーバーが他のページにリダイレクトします。これは通常、米国以外からgoogle.comにアクセスした場合に発生します。 Google 国別のウェブサイトにリダイレクトします。以下に示すように、インドのユーザーの場合、google.com は google.co.in にリダイレクトされます。

テストにパターンを追加

Web サーバー google.com の応答コードにパターンが含まれていることを確認するとします。 302、

On テストする応答フィールド応答を選択してください Code,

応答アサーション パネルで、 をクリックします。 追加 -> 新しい空白のエントリの表示 -> 302を入力 テストするパターンで。

パターンをテストに追加

ステップ 3) アサーション結果の追加

スレッドグループを右クリックし、 追加 -> リスナー -> アサーション結果

アサーション結果の追加

アサーション結果の追加

ステップ 4) テストを実行する

スレッドグループをクリックします -> アサーションの結果

テストを実行する準備ができたら、 ラン メニューバーのボタン、またはショートキー Ctrl + R。

テスト結果はアサーション結果ペインに表示されます。 Google 応答コード パターンが含まれています 302、テストケースは 合格。 次のようなメッセージが表示されます。

テストを実行する

次に、応答アサーション パネルに戻り、テストするパターンを 302 から 500 に変更します。

テストを実行する

なぜなら Google サーバー応答コードにこのパターンが含まれていない場合、テストケースが表示されます。 Failed: 次のように:

テストを実行する

トラブルシューティング

上記のシナリオの実行中に問題が発生した場合は、次の操作を行ってください。

  1. プロキシ経由でインターネットに接続しているかどうかを確認してください。 「はい」の場合は、プロキシを削除します。
  2. の新しいインスタンスを開きます JMeter
  3. Video Cloud Studioで AssertionTestPlan.jmx in JMeter
  4. [スレッド グループ] -> [アサーション結果] をクリックします。
  5. テストを実行する

よくあるご質問

アサーションは応答が合格か不合格かを検証するものであり、リスナーは結果を表示するだけである。

はい。JSONアサーションはJSONレスポンス内の値をチェックし、XMLアサーションはXMLを検証します。

各アサーションはレスポンスを解析し、CPU コストを増加させるため、アサーションは重要なサンプラーに限定してください。

はい。AIアシスタントはサンプル応答を読み取り、それに対応する応答を生成します。 JMeter 自動的にアサーションを実行します。

AIは、固定アサーションでは見逃してしまう可能性のある、応答コードやタイミングの異常を検出します。