how achieve jmeter correlation with example
このチュートリアルでは、JMeter相関とは何か、なぜそれが必要なのか、およびJMeterスクリプトで相関を実現する方法について説明します。
相関は、JMeterスクリプトで非常に重要な役割を果たします。 相関とはどういう意味かを理解しましょう。
相関は、2つ以上の変数間の関係です。これは、ユーザーが将来の計画や実行するアクションを決定できる方法で、関係の情報を取得するのに役立ちます。
このチュートリアルでは、JMeterスクリプトで相関関係を実現する方法を学習します。
=>ここをクリックしてください JMeterの完全無料トレーニング(20以上のビデオ)
学習内容:
JMeter相関ビデオチュートリアル
どのetlツールが市場で最高か
相関とは、基本的に、後続のリクエストで使用できるリクエストの1つ、またはさらに実行する必要のあるリクエストのいずれかから値を抽出することです。
リクエストから値を抽出するには、プロセッサが必要です。 HTMLLinkParserのようなプリプロセッサは、応答で受信したページからすべてのリンクを抽出できます。
ほとんどの場合、XPathやRegular Expression Extractorなどのポストプロセッサを使用して、応答から値を抽出し、その値を変数に格納します。これで、同じ変数を次のリクエストまたは後で実行するリクエストで使用できます。
最も一般的には、JMeterがセッション、クック、ログイン資格情報をキャプチャし、それらをパラメータとして他のリクエストに使用するのが見られます。
JMeterの相関関係を理解する
このチュートリアルでは、JMeterスクリプトで相関が必要な理由と場所を明確に理解できます。また、例を使用して相関がどのように行われるかを確認します。
どこに相関関係が必要ですか
これは、前の要求の応答からの動的な値が、次の要求に耐える必要がある場合に使用されます。
のパフォーマンステスト 静的なウェブサイト カスタマイズは必要ありません 、レコードの通常の機能で動作し、スレッド数で実行できるため、静的Webサイトでは相関関係は必要ありません。
最近では、ほとんどのWebサイトに、Webサーバーから返される動的コンテンツがあります。反復要求ごとに、動的応答には常に異なるデータが返されます。同じ相関関係を処理するには、動的なWebサイトが必要です。
なぜ相関が必要なのか
動的応答の相関は、応答から動的な値を抽出し、それを変数に配置して、スクリプトが失敗しないように、必要な要求によってさらに使用されるように機能します。
例: ユーザーがログインしてホームページで他のアクティビティを実行するためのスクリプトが作成された場合、スクリプトは1回だけ機能し、次回は失敗します。ユーザーが初めてセッションにログインすると、変数が動的に作成されます。これらのセッション変数は、連続するリクエストで実行されるアクティビティの認証に役立ちます。
だから、ここに Webリクエストと動的変数を相互に関連付ける必要があります スクリプトを成功させるには、2つの方法で実行できます。
1つの方法は、開発者が相関する変数を検出し、それらをマップして後続の要求で置き換えることです。これは手動プロセスです。
手動プロセスは、相関点が少なく、相関する変数の数が増えるとエラーが発生する可能性も増えるため、小さなスクリプトでのみ成功します。
大きなスクリプトの相関関係は自動化する必要があります。これにより、労力と時間の両方が削減され、間違いの可能性もなくなります。
相関を行う方法
JMeter相関を実行できます
- ポストプロセッサの使用 「正規表現エクストラクタ」。
- 動的データが存在する場合は常に再利用される変数。
変数の相関に「正規表現エクストラクタ」がどのように使用されているかの例を見てみましょう。
正規表現Extractorは、ユーザーが値を取得したいサンプラー要求に追加されます。
サンプラー->追加->ポストプロセッサー->正規表現エクストラクター。
連続するリクエストでは、変数値を使用して動的にマッピングできます。
以下は、JMeterの相関関係を理解するための例です。
ステップ :
#1) テスト計画にスレッドグループを追加します。
mp3曲をダウンロードするのに最適なアプリ
#二) サンプラー「HTTPリクエスト」をテスト計画に追加し、名前をリクエスト1に変更して、サーバー名またはWebサイトのIPを入力します。
#3) 「正規表現エクストラクタ」ポストプロセッサをテスト計画に追加して、サンプラーリクエスト1の応答から値を抽出します。
エクストラクタが追加されると、 値を抽出するには、以下の値を入力する必要があります。
- 作成された変数の名前: 抽出された値が格納されるJMeter変数の名前を表します。
- 正規表現: 応答からのデータを定義する式です。
- テンプレート :テンプレートは、正規表現のグループを参照します。 $ 1 $構文はグループ1を表し、同様に$ 2 $構文はグループ2を表します。
- 試合番号: 0が指定されている場合、JMeterは任意のランダム一致を選択します。
- デフォルト値: 正規表現に一致する値がない場合、デフォルト値が考慮されます。ユーザーは、「認証に失敗しました」、「見つかりません」など、エラーを定義するものなら何でも、必要に応じてデフォルト値を指定できます。
#4) 別のサンプラー「HTTPRequest」を追加し、Request2という名前を付けます。このサンプラーのリクエストデータは、最初に追加されたHTTPリクエストのレスポンスデータから抽出されます。
リクエストにパスを追加します。ここでは、サーバーまたはIPの名前は必要ありません。パスは$ {Name}で定義する必要があります
#5) リスナー「結果ツリーの表示」をテスト計画に追加して、要求1と要求2の間の相関関係を表示します。
#6) テスト計画を実行し、結果を確認します。リクエスト2には、リクエスト1から抽出されたいくつかの値があります。
JMeter相関に関するFAQ
Q#1)JMeterで相関とパラメーター化をどのように行いますか?
回答 :パラメータ化は、スクリプトで多数の異なるユーザーが必要な場合に使用されます。 CSVファイルを使用して、さまざまなユーザーとデータを取得できます。したがって、スクリプトがスレッド数50で実行される場合、スクリプトは毎回CSVファイルから新しいユーザーの詳細をフェッチします。
相関を処理するために、「正規表現エクストラクタ」ポストプロセッサを使用して、後続のリクエストの最初のリクエストから変数の値を抽出します。
パラメータ化はユーザーの入力値を探しますが、相関は作成されたリクエストに対してサーバーから返されるデータを探します。
Q#2)JMeterは動的な値をどのように処理しますか?
回答 :JMeterの動的な値を処理するには、2つのステップを実行する必要があります。1つは応答から動的な値を取得して保存し、2つ目は後続のリクエストでその値を使用します。これは、正規表現エクストラクタポストプロセッサを使用して行われます。
Q#3)JMeterはヘッダー値をどのように相関させますか?
回答 :JMeterの「正規表現エクストラクタ」ポストプロセッサでヘッダー値を相互に関連付ける必要があります。
- その中で 適用先–「メインサンプル」 とのために 「応答ヘッダー」をチェックするフィールド 選択する必要があります。
- すべてのフィールドに値を入力します。
- 作成された変数の名前で指定された名前は、JMeterに格納されている変数の値になります。参照式セクションで式を指定すると、応答ヘッダーパラメーターの実際の値が選択されます。
- テンプレート名を$ 1 $として指定します。
- 値を取得するには、$と変数名を$ {変数名}のように中かっこで囲んで使用します。
結論
相関関係はJMeterの非常に重要な側面です。静的Webサイトは相関関係を必要としませんが、サーバーは毎回変化し続ける動的変数に応答するため、動的サイトは相関関係を必要とします。スクリプトを何度も再利用するには、変数値間の相関関係が必要です。
そのため、「正規表現エクストラクタ」を使用して、1つのリクエストから変数値を抽出し、後続のリクエストで使用します。