how use preprocessors jmeter
このチュートリアルでは、JMeter PreProcessorの使用方法と、SampleTimeOut、UserParameter、HTMLLinkParserなどのプリプロセッサーがどのように機能するかを学習します。
PreProcessorは、常にSampler要求の前にアクションを実行します。
以下は、JMeterで使用されているプリプロセッサのリストです。
アニメを無料で見るウェブサイト
- ユーザーパラメータ
- サンプルタイムアウト
- JSR223プリプロセッサ
- JDBCプリプロセッサ
- BeanShellプリプロセッサ
- HTMLリンクパーサー
- HTMLURL書き換え修飾子
- RegExユーザーパラメータ
=>ここをクリックしてください JMeterの完全無料トレーニング(20以上のビデオ)
学習内容:
JMeterプリプロセッサビデオチュートリアル
プリプロセッサは、実際のサンプラーがJMeterで実行される前に実行されるアクションです。これは、変数の値の格納、タイムアウトの定義などのようなものである可能性があります。プリプロセッサは、スレッドグループレベルまたはサンプラーレベルで追加できます。
SampleTimeOut PreProcessorは、リクエストのサンプルタイムアウトを定義できます。定義された時間よりも長いサンプル取得時間は失敗します。 UserParameter PreProcessorは、特定のユーザーの変数の値を定義するために使用されます。
例 、特定のユーザーの変数の値を定義できます。サンプラーを実行すると、このプリプロセッサーで指定された値が取得されます。
HTMLLinkParserは、前のリクエストの応答からのすべてのリンクを解析し、ページ上の任意のリンクをランダムにヒットできます。パスに「。*」を指定すると、ページに存在するランダムなリンクが選択され、特定のプロトコルで使用されているのと同じプロトコルでヒットします。
一般的に使用されるJMeterプリプロセッサ
JMeterのプリプロセッサのいくつかを見てみましょう。
#1)JSR223プリプロセッサ
JSR223プリプロセッサは、サンプラー要求の前に実行し、JSR223スクリプトを使用して操作を実行します。使用できる言語には、JAVA、Groovy、BeanShell、JEXLなどがあります。
このプリプロセッサを追加するには、以下の手順に従ってください。
- テスト計画にスレッドグループを追加します。
- サンプラー「HTTPリクエスト」を追加します。
- JSR223プリプロセッサを追加します。
- リスナー「結果ツリーの表示」を追加します。
例 :
次のスクリプトは、JavaScriptを使用してHTTPリクエストサンプラーを変更するために作成できます。
sampler.setDomain('website.com'); sampler.setProtocol('HTTP'); sampler.setMethod('GET');
スクリプトの使用に使用できるJSR223変数は次のとおりです。
- ログ: この変数は、ログファイルへの書き込みに使用できます。
- パラメーター: 文字列としてのパラメータ。
- ラベル: 文字列ラベルです。
- ファイル名: 外部スクリプトが追加された場合のスクリプトのファイル名
- 誰: これは、変数への読み取りおよび書き込みアクセスを提供するJMeter変数です。
- サンプラー: 現在のサンプラーへのアクセスが提供されます。
- 引数: パラメータとしての文字列配列
- 小道具: JMeterのプロパティ
- ctx: これは、コンテキストへのアクセスを提供するJMeterコンテキストです。
- アウト: メッセージを印刷するには(system.out)
#2)JDBCプリプロセッサ
このプロセッサは、サンプラーが実行される前にSQLクエリを実行するために使用できます。
以下のプリプロセッサを追加するには、次の手順に従います。
- スレッドグループをテスト計画に追加します。
- サンプラー「HTTPリクエスト」を追加します。
- HTTPヘッダーマネージャーを追加します。
- JDBCプリプロセッサをスレッドグループに追加します。
- 「結果ツリーの表示」としてリスナーを追加します。
例:
ユーザーがユーザーのユーザー名とパスワードを取得したい場合:
- スレッドグループをテスト計画に追加します。
- サンプラーの「HTTPリクエスト」を追加します(必要なデータのユーザー名とパスワードの詳細はサンプラーの本体部分で提供することもできますが、これらの詳細のいずれかを更新するにはスクリプトで次のように更新する必要があるため、目的を果たしません。上手)
- 構成要素「HTTPヘッダーマネージャー」を追加し、名前と値の詳細を提供します。
- JDBCプリプロセッサを追加します。
クエリタイプ ドロップダウンから次のように選択できます ステートメントを選択 クエリボックスで同じものを抽出するようにクエリを指定できます。
抽出する変数は、コンマ区切りで指定できます。
- リスナー「ViewResultsTree」を追加し、テスト計画を実行して結果を表示します。
JDBCプリプロセッサ フィールドがあります クエリタイプ 要件に応じて選択できます。
ユーザーがしたい場合のように 更新 詳細、 更新ステートメント 使用する必要があります。同様に、必要に応じて、別のクエリタイプを選択できます。
準備されたSelectステートメントの例:
ユーザーが患者の名前を参照するレコードから患者の予定IDをキャンセルする必要がある場合、ユーザーはJDBC接続を構成してから、クエリタイプを選択するJDBCプリプロセッサを追加する必要があります。 プリペアドセレクトステートメント。 テスト計画を実行します。追加されたリスナーは結果を確認できます。
#3)HTMLリンクパーサー
このプロセッサは、HTML応答を解析し、すべてのリンクとフォームを抽出するために使用されます。
以下の手順に従って、プリプロセッサを追加します。
- スレッドグループをテスト計画に追加します。
- サンプラー「HTTPリクエスト」を追加
- Simpleコントローラーを追加します。
- 別のサンプラー「HTTPリクエスト」を追加します。
- HTMLリンクパーサープリプロセッサを追加します。
- リスナー「結果ツリーの表示」を追加します。
例:
内部ページをクロールする方法を表示するには、以下の手順を実行できます。
- スレッドグループに、サンプラー「HTTPリクエスト」を追加し、サーバー名またはIPを指定します。サンプラー名の名前をHTTPRequest_Mainに変更します。
- SimpleControllerをテスト計画に追加します。
- サンプラー「HTTPリクエスト」をもう1つ追加し、サーバー名またはIPを指定し、/も指定します。 *パス内にあるため、見つかったすべてのリンクにクロールできます。サンプラー名の名前をHTTPRequest_Internalに変更します。
- プリプロセッサ「HMTLリンクパーサー」とリスナーを「結果ツリーの表示」として追加して、出力を表示します。
上記の手順に従うと、最初のサンプラーの出力はリクエストフィールドのWebサイト名になり、2番目のサンプラーの出力は提供されたWebサイトでクロールされた内部ページになります。同じことについては、以下のスクリーンショットを参照してください。
#4)HTTPURL書き換え修飾子
セッション情報のURLを管理するために、書き換え手法が使用されます。どのシステムでもCookieが無効になっている場合でも、Cookieが機能する可能性があるという利点があります。
以下のプリプロセッサを追加するには、次の手順に従います。
- スレッドグループをテスト計画に追加します。
- テスト計画にHTTPリクエストを追加します。
- プリプロセッサ「HTTPURLRe-writingModifier」をテスト計画に追加します。
- サンプラー「HTTPリクエスト」をもう1つスレッドに追加します。
このプリプロセッサは次のように使用できます。
このプリプロセッサは、スレッドレベルおよび特定のサンプラーにも適用できます。スレッドレベルで適用される場合、スレッド内にあるすべてのリクエストの引数が追加されます。
セッション引数名 :このフィールドには、セッションIDパラメーター名を指定する必要があります。パラメータ名は応答で見つけることができます。このパラメータはページ上で検索され、見つかった場合は常に、割り当てられた値が取得されます。
新入生向けの基本的なSQLインタビューの質問と回答pdf
パス拡張: アプリケーションがセミコロンを追加してURLを書き換え、セッションIDも含める場合は、このオプションを選択する必要があります。
パス拡張でequalsを使用しないでください。 アプリケーションがURLを書き換えない場合 '=' パラメータ名と値の間に符号を付ける場合は、このオプションをオンにする必要があります。
パス拡張に疑問符を使用しないでください –アプリケーションがクエリ文字列の終了またはパス拡張子での終了を停止する必要がある場合は、オプションをオンにする必要があります。
キャッシュセッションID: 後で使用するためにセッションIDが必要な場合は、このオプションを選択する必要があります。
URLエンコード: エンコードされたURLが必要な場合は、このオプションを選択する必要があります。
#5)RegExユーザーパラメータ
このプリプロセッサを使用すると、HTTPパラメータの動的な値を正規表現エクストラクタを使用してHTTPリクエストから取得できます。テスト計画では、独立したスレッドに設定されます。
以下のプリプロセッサを追加するには、次の手順に従います。
- テスト計画にスレッドグループを追加します。
- サーバー名またはIPを使用してスレッドグループにHTTPリクエストを追加します。
- ポストプロセッサ「正規表現エクストラクタ」を追加して、値を抽出します。
- 別のHTTPリクエストをスレッドグループに追加し、サーバー名またはIPを指定します。
- 「RegexUserParameter」プリプロセッサを2番目のHTTPリクエストに追加します。
このプリプロセッサは次のように使用できます。
正規表現参照名: 指定された参照名には、最初のHTTPリクエストから解析されたはずの変数が含まれます。
パラメータ名正規表現グループ番号: 1は、正規表現のグループ1を表します。それは戻ります 変数の名前 。
パラメータ値正規表現グループ番号: 2は、正規表現のグループ2を表します。それは戻ります 変数の値 。
#6)BeanShellプリプロセッサ
このプリプロセッサは、特定のリストからランダムな値を取得します。ランダムな文字列を生成して、変数に値を割り当てることができます。
BeanShellプリプロセッサがサンプラーの下に追加されます。
以下のプリプロセッサを追加するには、次の手順に従います。
- スレッドグループをテスト計画に追加します。
- サンプラーをスレッドグループに追加します。
- 追加したサンプラーに「BeanShellプリプロセッサー」を追加します。
例:
ユーザー定義変数が値として「true」に設定されていて、この値を「false」に変更する必要がある場合は、以下のコマンドを使用して同じことを行うことができます。 (Deleteはユーザー定義変数であり、その値を変更する必要があります))
vars.put(“delete”,”false”);
外部スクリプトを使用する場合は、その場合、ファイル名フィールドにスクリプトのファイルをアップロードできます。外部ファイルをアップロードするための参照オプションが提供されています。
JMeterプリプロセッサに関するFAQ
Q#1)JMeterのプリプロセッサとは何ですか?
回答 :プリプロセッサは、サンプラー要求が実行される前にアクションを実行するために使用されている要素です。変数の値の保持、データベースからのデータの取得など、さまざまな目的を達成するために使用できるプリプロセッサがいくつかあります。プリプロセッサは、サンプラーレベルまたはスレッドレベルのいずれかで追加できます。
Q#2)JMeterのBeanshellプリプロセッサとは何ですか?
回答 :BeanShellはスクリプトベースであり、JMeterの組み込みコンポーネントです。このプリプロセッサは、サンプラーが実行される前にスクリプトを実行するために使用されます。
結論
JMeterプリプロセッサ–前述のように、サンプラーが実行される直前に実行されます。 JSR223とBeanshell スクリプトベースのプリプロセッサですが、 JDBC データのフェッチまたは取得が必要なため、データベースアクティビティに使用されます。
HTMLリンクパーサーとRegExユーザーパラメーター 他のプリプロセッサほど一般的には使用されていませんが、必要に応じて目的を果たし、独自の利点があります。