JMeter+Python は非同期インターフェイス テストを実装します

JMeter と Python を使用して非同期インターフェイス テストを実装する場合は、次の手順に従うことができます。

1. JMeter と Java Development Kit (JDK) をインストールします。

JMeter (https://jmeter.apache.org/download_jmeter.cgi) とオペレーティング システム用の JDK をダウンロードしてインストールします

2. JMX テスト計画ファイルを作成します。

JMeter GUI を使用してテスト計画を作成および構成します。JMeter を開き、[ファイル] > [テンプレート] > [Web テスト計画の構築] > [作成] をクリックして新しいテスト計画を作成します。次に、以下の手順に従って構成します。

写真

スレッドグループ: スレッド数、同時ユーザー数、ループ数などを設定します。
非同期HTTPリクエスト:URL、リクエストメソッド、パラメータなどを設定します。
アサーション: アサーション ルールを設定して、インターフェイスから返された結果が期待どおりかどうかを検証します。
結果ツリーの表示: インターフェイスの応答と結果を表示するために使用されます。

3. JMX ファイルを保存します。

[ファイル] > [テスト計画を名前を付けて保存] をクリックして、テスト計画を JMX ファイルとして保存します。

4. Python スクリプトを作成します。

Python スクリプトを使用してJMeter テスト計画を実行します。サンプルコードは次のとおりです。

import subprocess 

jmeter_path = "/path/to/jmeter" # 替换为你的JMeter路径 
jmeter_test_plan = "/path/to/your_test_plan.jmx" # 替换为你的测试计划文件路径 

def run_jmeter_test_plan(): 
    cmd = [jmeter_path, "-n", "-t", jmeter_test_plan, "-l", "/path/to/result.jtl"] 
    try: 
        subprocess.check_call(cmd) 
        print("JMeter test plan executed successfully.") 
    except subprocess.CalledProcessError as e: 
        print("JMeter test plan execution failed:", e) 
        
run_jmeter_test_plan()

Python スクリプトでは、jmeter_path 変数と jmeter_test_plan 変数を実際のパスとファイル名に置き換える必要があります。-l オプションは、結果ファイルの出力パスを指定するために使用されます。

5. Python スクリプトを実行します。

上記の Python スクリプトを実行すると、JMeter コマンド ラインが呼び出され、テスト計画が実行され、結果が指定された JTL ファイルに保存されます。

6. テスト結果を分析します。

Python を使用して JMeter テスト結果ファイルを解析し、対応する応答時間やエラー情報などを取得します。Python の pandas ライブラリまたはその他の関連ライブラリを使用して、CSV または JTL 形式のテスト結果ファイルを処理できます。

import pandas as pd

def parse_results():
    results = pd.read_csv(result_file, delimiter=",", skiprows=1)

    # 获取响应时间信息
    response_times = results['Latency'].tolist()

    # 获取错误信息
    errors = results.loc[results['Success'] == False, 'ResponseMessage'].tolist()

    # 输出结果
    print("Response Times:", response_times)
    print("Errors:", errors)

parse_results()

この例では、パンダ ライブラリを使用して CSV ファイルを読み取り、最初の行のヘッダー行をスキップします (skiprows=1)。次に、対応する列にアクセスして、応答時間とエラー情報を取得します。追加情報は、実際のニーズと結果ファイルの構造に基づいて解析および処理できます。pandas ライブラリは豊富なデータ処理機能を提供し、その柔軟なメソッドと関数を使用して JMeter テスト結果を処理できます。

上記は基本的なフレームワークを提供するだけであり、実際の実装は特定のニーズやテスト計画に応じて調整する必要がある場合があります。非同期リクエストをシミュレートするには、アサーションの追加、タイマーの設定など、追加の構成が必要になる場合があります。

最後に、私の記事を注意深く読んでくださった皆さんに感謝します。互恵性は常に必要です。それほど価値のあるものではありませんが、使用できる場合は、直接受け取ることができます。

ここに画像の説明を挿入します

この情報は、[ソフトウェア テスト] の友人にとって最も包括的かつ完全な準備倉庫となるはずです。この倉庫は、最も困難な旅を乗り越える何万人ものテスト エンジニアにも同行してきました。また、皆さんのお役に立てれば幸いです。

おすすめ

転載: blog.csdn.net/NHB456789/article/details/133096369