Apache JMeter
Apache JMeter:テストシナリオ記録
サーチ…
前書き
テストシナリオの記録は、テストスクリプトを作成する最も便利な方法の1つです。これは、テスト記録を使用して、手動でテストスクリプトを作成するのではなく、現実的なユーザーワークフローを模倣できるからです。レコーディングは、すべてのブラウザ要求をWebアプリケーションに取り込み、パフォーマンステストで実行できるjmxファイルを自動的に作成します。 JMeterの録音/再生機能やBlazeMeterやBadBoyのようなサードパーティのツールを使用することで、テスターは3倍の作業時間を短縮できます。
JMeterテンプレート機能によるスクリプト記録
バージョン2.10では、 JMeterはスクリプト作成時の時間を節約するメカニズムを導入しました.JMeterテンプレート。これらのテンプレートは、新しいスクリプトのベースとして再利用できるスケルトンです。
JMeterにはすでにいくつかの詳細テンプレートが用意されており、独自のテンプレートを追加することもできます。テンプレートには、パフォーマンススクリプトを最初から記録するために必要なすべての設定と要素があります。
JMeterテンプレートフィーチャーを使用する方法は次のとおりです。
JMeterを設定する
JMeterを開く
スクリプト記録用のテンプレートを選択します。
File - > Templates ... - > Select Template - > Recording - > Create JMeterは、関連する要素をテストツリーに追加します。
ブラウザプロキシを設定する
JMeter Recorderを使用するには、プロキシ経由ですべてのリクエストを送信するようにブラウザを設定する必要があります。これらのニーズにはすべてのブラウザを使用できますが、ブラウザの設定の場所はブラウザによって異なり、OSによって異なる場合があります。
ブラウザを設定するには:
Chrome :メニューボタン - >設定 - >詳細設定を表示... - >ネットワーク - >プロキシ設定の変更
Safari :環境設定 - >詳細設定 - >プロキシ - >設定の変更...
Firefox :メニューボタン - >環境設定 - >詳細 - >ネットワーク - >接続 - >設定..
たとえば、localhost 127.0.0.1を使用できます。 HTTP(S)Script Recorderのポートにポートを変更します。
この段階で問題が発生した場合は、ブラウザのプロキシ設定を管理できるサードパーティのプラグインがないことを確認してください。たとえば、Hola VPNのように、ブラウザのメニューでプロキシ設定を使用できなくなります。
- [HTTP(S)Test Script Recorder]ページの下部にある[Start]ボタンをクリックし、テストするWebアプリケーションワークフローを実行します。 JMeterに戻ると、ブラウザからキャプチャされたすべてのリクエストが表示されます。
JMeterプロキシレコーダーによるスクリプト記録
JMeterでは、ワークスペースを手動で設定することもできます。それはより複雑ですが、スクリプトをあなたの正確なニーズに合わせることができます。
ブラウザプロキシを設定する
- 第1章の説明に従って、ブラウザを設定します。
JMeterを設定する
「WorkBench」ブランチは、スクリプトを作成するための一時的な作業領域として使用できます。このセクションに追加されたエントリは、テストプランとともに保存されないことに注意してください。したがって、今後同じ記録設定を再利用する場合は、コピーして「テスト計画」セクションに貼り付ける必要があります。
- 「WorkBench」 - >「Add」 - >「Logic Controller」 - >「Recording Controller」を右クリックして、「WorkBench」に「Recording Controller」を追加します。
- "WorkBench" - > "Add" - > "Non-Test Elements" - > "HTTP(S)Test Script Recorder"を右クリックして "HTTP(S)Test Script Recorder"
「グローバル設定:ポート」の「HTTP(S)Test Script Recorder」の設定ページで、ブラウザのプロキシ設定に指定されているのと同じポートを指定する必要があります(たとえば8080)。
リクエストを特定のリソースに除外する場合は、「除外するURLパターン」セクションを使用できます。これは、リクエストしたいタイプのコンテンツ(* .html、* .phpなど)を含める場合や、リクエストしたくないコンテンツのタイプを除外したい場合に便利です(例:* .jpg、* .png、* .jsなど)。
いつこれを使うのですか?たとえば、サードパーティのアプリケーションを呼び出すスクリプトを記録するときや、サーバー側のスクリプトをテストするときに、テストを混乱させたり帯域幅を消費したりする可能性があるため、アセットをダウンロードしたくない場合や、特定の経路。
最も一般的な除外パターンは次のとおりです。 .png "、" .jpg "、" .gif "、" .css "、"。 .js "また、異なるパターンを組み合わせることもできます。この結合されたパターンは、重要なものからあなたをそらすかもしれないすべての冗長な要求を取り除かなければなりません: "、。 (bmp | css | js | gif | ico | jpe?g | png | swf | woff) "
- 一方、完全なブラウザーの動作を模倣し、すべてのリソースのロードを含めることができます。この場合、URLパターンを除外する必要はありません。ブラウザーは、要求されたページからすべての組み込みリソースをダウンロードし、結果のパフォーマンスに影響を与える可能性のあるキャッシング・メカニズムを持っていることに留意してください。
この場合、スクリプト内のすべての埋め込みリソースをダウンロードすることをお勧めします: "Test Plan" - > "Add" - > "Config Element" - > "HTTP Request Defaults" - > "Advanced" "すべての埋め込みリソースを取得"チェックボックス。
JMeterを実際のブラウザのように動作させるには、パフォーマンステストでブラウザのキャッシュ機能をシミュレートできる「HTTPキャッシュマネージャー」を追加することをお勧めします。 "Test Plan" - > "Add" - > "Config Element" - > "HTTP Cache Manager"を右クリックしてください。
「HTTP(S)Test Script Recorder」ページの下部にある「Start」ボタンをクリックし、テストするWebアプリケーションワークフローを実行します。 JMeterに戻ると、ブラウザからキャプチャされたすべてのリクエストが「録画コントローラ」の下に表示されます。
モバイルデバイスのパフォーマンススクリプトの記録
JMeterは、モバイル性能テストの記録にも使用できます。モバイルスクリプトの録音は、Webアプリケーションスクリプトの録音と非常によく似ています。
JMeterを設定する
- 第1章で指定した「JMeterテンプレート」を設定します。
携帯電話を設定する
指定されたポートで開始されたJMeter "HTTP(S)Test Script Recording"要素を含むJMeter設定が準備されたら、JMeterプロキシ経由でテストしているWebアプリケーションに要求を送信するように携帯電話を設定できます。
- IOS :
設定 - > Wi-Fi
接続されたネットワークをクリックしてください
「HTTP PROXY」構成セクションに移動します。
[手動]タブをクリックします
"Server"の下で実行されているJMeterアプリケーションのIPを設定する
「ポート(Port)」の下の「HTTP(S)Test Script Recording」で指定されたポートを設定します。
アンドロイド:
設定 - > Wi-Fi
接続されたネットワークを長くクリックして、[ネットワークの変更]オプションをクリックします
[詳細オプション]チェックボックスをクリックします。
"プロキシ"オプションを "手動"に設定する
「プロキシホスト名」をコンピュータのIPアドレスに設定し、「ポート」の下の「HTTP(S)テストスクリプト記録」設定で指定されている「プロキシポート」を設定します。
[保存]をクリックします。
- これで、モバイルデバイス上でアプリケーションの実行を開始できます。リクエストはJMeterに記録されます。
HTTPSトラフィックの記録
WebアプリケーションがSSL暗号化を使用する場合は、HTTPではなくHTTPSトラフィックを取得する必要があります。 JMeterでHTTPSトラフィックを記録するには、SSL証明書を設定する必要があります。
SSLプロキシを設定する
- HTTPプロキシが設定されているのと同じ方法でSSLプロキシが設定されていることを確認します。
JMeterを設定する
例「JMeterテンプレート機能によるスクリプト記録」の説明に従って、「JMeter記録テンプレート」機能を使用してスクリプト記録を開始します。
Webアプリケーションを開くと、安全でない接続に関するメッセージが表示されます。続行するには、JMeterダミー証明書を受け入れるだけです。
- [詳細]をクリックします。
- [例外の追加...]をクリックします。
- [この例外を永続的に保存する]チェックボックスをオフにします
- 「セキュリティ例外の確認」をクリックします。
- 「このサイトは、有効で確認済みの身分証明書を提供しています。警告メッセージを表示するには、Cookie、キャッシュ、オフラインのWebサイトデータなど、アプリケーションのブラウザ履歴をクリアする必要があります。その後、同じ手順を繰り返します。
このアプローチは、JMeterを実行するために使用されているホストにのみJMeter証明書をインストールする必要があるため、モバイルスクリプトの記録にも使用できます。
BlazeMeter Chrome拡張機能でのスクリプト記録
これまでは、テストシナリオを記録するための基本的な方法について説明しました。しかし、無料でもあるパフォーマンススクリプトを記録する最も速くて簡単な方法の1つは、 BlazeMeter Recorder Chrome拡張機能を使用することです 。これらの録音は、JMeterまたはBlazeMeterで実行できます。
拡張機能が非常に便利な理由は、プロキシを設定することなく、ブラウザからパフォーマンススクリプトを記録できるからです。
新しいパフォーマンススクリプトを作成するには:
- あなたのChromeからレコーダーを開く
- トップフィールドにテスト名を入力してください
- レコードボタンをクリックして円の形で録音を開始し、録音したいWebアクションを実行します。すべてのリクエストがキャプチャされます。 Blazemeter Chrome Extensionは、HTTPSトラフィックの記録もサポートしています。
- 録音を終えたら、正方形の形の停止ボタンをクリックします。また、レコーディングを一時停止してから、.jmx形式やJSON形式、クラウドでレジューム、編集することもできます。
- 録音をエクスポートする - JMeterでテストを実行するには、.jmxボタンをクリックして.jmx形式にエクスポートします。 BlazeMeterでテストを実行するには、「再生」をクリックします。
BadBoyとのスクリプト記録
もう1つの便利なサードパーティの録音ツールはBadBoyです。ただし、Windows OSでのみ動作します。
新しいパフォーマンススクリプトを作成するには:
赤い円のような形の記録ボタンを押して、キャプチャしたい動作を実行します。
スクリプトをJMeterにエクスポート - ファイル - > JMeterにエクスポート
パフォーマンススクリプトレコーダーを使用することは、日常的な作業を避け、最高のテストスクリプトを得るのに最適です。録音後、テストするバーチャルユーザーの数と追加のテスト構成を設定し、テストを実行し、結果を分析してエラーとボトルネックを特定し、システムの正常性を示す傾向を特定します。