Jmeter の自動テストの実装

序文:

現在最も人気のあるテストツールであるJmeterをベースに、スクリプト追加設定、ローカル設定と操作、サーバー設定などを含む自動化ソリューション一式を構築し、自動テストのクローズドループを完成させました。これは速くて簡単な効率的な方法であり、自動テストの問題点を解決することを期待しています。以下の噂話はこれくらいにして、実際の戦闘に直接行きましょう。

1. 自動テスト材料を準備する

    1. 開発・運用ツール Jmeter(ダウンロードアドレス:  Apache JMeter - Download Apache JMeter

    2. 開発環境がリリースされる準備が整いました。

    3. テスト スクリプトの準備ができました。

    4. スクリプト実行環境が準備されています (fat または uat)。

2. 自動テスト合格基準

    1. 成功ステータスは 200 を返します。

    2. 失敗すると 404、500 などが返されます。

    3. 各スクリプトの特別なアサーション。

3. 自動スクリプトストレージ

    スクリプトはすべて Gitlab ウェアハウスに保存されます (スクリプトの保存仕様については、GitLab Jmeter テスト パッケージの一般設計バージョン 1.0 を参照してください)。

プロジェクトのルート ディレクトリに新しいフォルダーを作成します。次のフォルダーに示すように、先頭のフォルダー名はプロジェクト名と一致し、サフィックスは「-test」です。

    

4. 自動テストスクリプトルール

    1. スクリプトにはインターフェース名が付けられます。

    2. ストレージ タイプは、接尾辞 jmx が付いたファイルです。

    3. スレッド数は 1 に設定されます (スモーク テストではマルチスレッドの同時実行は必要ありません)。

    4. アサーション判定を含む必要があり、ステータス検出は 200 に設定されます。

5 つの自動テスト スクリプト ステップ

    1. スレッド グループを追加し、スクリプトにインターフェイス名として名前を付け、クリックしてファイルに接尾辞 jmx を付けて保存します

    2. スレッド数を 1 に設定し、その他の設定をデフォルトに設定します (以下を参照)。

    3. サイクル数はサイクルなし、スケジューラは設定されておらず、その他のパラメータも設定されていません (下図を参照)。

            

 

   

    4. http プロトコル オプションを構成します。

        a. http リクエストを追加するには、スレッド グループを右クリックして [追加] をクリックし、[サンプラー] を選択して、[HTTP リクエスト] を選択します。

              

        b. リクエストは post または get (下図に示すように、ここでは実際の状況に応じて POST に設定されています)

        c. コンテンツのエンコード: UTF-8 (下図に示すように、ここでは実際の状況に応じて UTF-8 に設定されています)

        d. リクエストメッセージ:本文データを入力します(下図のように、実際の状況に応じてリクエストメッセージの内容を設定します)

                

 

   

 5. アサーション オプションを構成し、スレッド グループを右クリックして [追加]、[アサーション] を選択し、ここでは [応答アサーション] を選択します。実際の状況に応じて、他のアサーション タイプを選択できることに注意してください。

        a. 以下の図に示すように、応答アサーションを追加します。

            

        b. 以下の図に示すように、応答コードとして応答フィールドを選択します。

        c. 以下の図に示すように、「一致ルール」を「含める」として選択します。

        d. 以下の図に示すように、テスト モードで 200 を入力します (これはカスタム リターン コードを作成するためのもので、実際の状況に応じて設定してください)。

            

 

 6. 図に示すように、「HTTP ヘッダー マネージャー」を追加し、テスト計画の [追加] メニューを右クリックして、[構成コンポーネント] を選択し、次に [HTTP ヘッダー マネージャー] (つまり、HTTP ヘッダー マネージャー) を選択します。下に:

            

    Content-Typeなどの内容は、実際の状況に応じて追加できます。たとえば、以下の例に示すように、ここでは値をapplication/jsonに設定します。

 

7. 「結果ツリーの表示」を追加し、テスト計画の「追加」メニューを右クリックして「リスナー」を選択し、「結果ツリーの表示」を選択します。

 

操作が成功または失敗した場合は、次の図に示すように、それぞれ結果ツリーの詳細を表示したり、応答データを表示したり、応答メッセージを確認したりできます。

 

次の図は、実行に失敗したアサーションです。アサーションの失敗情報についても詳しく説明します。

 

8. 「結果を表に表示」を追加し、テスト計画を右クリックして「追加」メニューを表示し、「リスナー」を選択して、「結果を表に表示」を選択します。

 

各テスト計画を追加すると、次の図に示すように、すべてのスレッド グループの実行結果を表示できます。

 

9. 「集計レポート」を追加し、テスト計画の「追加」メニューを右クリックして「リスナー」を選択し、「集計レポート」を選択します。

 

集計レポートは主に、このテスト計画実行の重要なパフォーマンス インデックス値 (平均、90%Line など) を収集するために使用されます。追加後、各テスト計画実行後のインデックスの有効なデータを次のように表示できます。次の例に示されています。

 

6. ローカル実行

1. 現在のテスト計画に、上記の例に従って、今回実行する必要がある自動化スクリプトを 1 つずつ追加します。追加後の効果は次のとおりです。

 

2. 現在のテスト計画のすべてのユースケースを実行し、次のように を使用してすべての実行結果を表示します。

 

3. 結果ツリーでは、失敗したすべてのユースケースの詳細メッセージも表示できます。

 

7. サーバーの構成と操作 (Jenkins/TFS)

最下位レベルのジョブ スケジューリングは Jenkins によって実装されるため、このセクションではジョブ パラメーターとその他の内容を構成する方法に焦点を当てます。TFS は、インターフェイスまたはコマンド ラインを通じて Jenkins を直接スケジュールするだけで済みます。

1. ジョブ命名規則。Jenkins でのジョブ命名規則を定義します。次の図に示すように、「JMETER」で始まり、その後にサービス名が続きます。

 

2. 図に示すように、ビルド構成を追加します。ここで、devops は Python に基づいて作成されたパッケージ化スクリプト、/sso-support-test は Jmx スクリプト ファイルのアドレス、report_server はメール サービス、mail はレポート受信者:

 

3. トリガー設定の構築: 図に示すように、サーバーが 2 分ごとに更新されたかどうかを確認するための設定は次のとおりです。

 

4. ソース コード管理: Git ウェアハウスを追加して選択し、次にリポジトリ アドレスを構成し、最後にブランチ dev を選択します (必須ではありません)。

 

八、サーバー生産自動化レポート

自動レポートは現在、電子メールと HTML レポートの表示という 2 つのフォームをサポートしています。

1. レポートを電子メールで確認します。サーバー側で応答受信者の電子メール アドレスを構成すると、次の図に示すように、自動化が実行されるたびに指定されたフォロワーに電子メール レポートが自動的に送信されます。

 

メールレポートには主に以下の内容が含まれます。

概要列: すべてのリクエストの概要、合計数、失敗数、成功率、平均時間、最小時間、最大時間などが含まれます。

 

ページ列: 主に 1 つのリクエストの詳細が含まれます。

 

失敗の詳細: 主にエラーの詳細に関連するコンテンツ:

 

2. HTMLレポートビュー。次の図に示すように、HTML コンテンツの表示は現在の電子メールと基本的に一致しているため、詳細は説明しません。

 

2023 年最新の Jmeter インターフェース テスト (入門から熟練度まで) (実践的なプロジェクト チュートリアルのフルセット)

おすすめ

転載: blog.csdn.net/dq565/article/details/132627462