目次
パート 2: MD5 暗号化要求の署名検証スクリプトを作成する
序文:
JMeter は一般的に使用されるインターフェイス テスト ツールです。暗号化して検証する必要があるインターフェイスの場合、MD5 暗号化アルゴリズムを使用して暗号化して署名検証を要求できます。
パート 1: 最初に Jmeter を準備する
1. スクリプトの作成を開始する前に、Jmeter が適切に実行されていることを確認してください。Jmeter をインストールしていない場合は、次の方法を参照できます。
-
Jmeter には Java 動作環境が必要なので、JDK をダウンロードする必要があります。JDK ダウンロード アドレス: https://www.oracle.com/technetwork/java/javase/downloads/index.html (JDK 8 以降のバージョンを使用することをお勧めします。上記のリンクを使用して、最新の JDK バージョンをダウンロードできます)
-
JDK をインストールするには、Baidu チュートリアルを参照してください: https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html (Java 環境変数が正しく設定されている必要があることに注意してください)
-
Jmeter をダウンロードしてインストールします。Jmeter のダウンロード アドレス: http://jmeter.apache.org/download_jmeter.cgi。Jmeter のインストール プロセス (Baidu チュートリアルを参照): https://jingyan.baidu.com/article/acf728fd68e7bef8e510a3cb.html (Jmeter5.0 バージョンでは環境変数を設定する必要があり、JDK 8 以降が必要であることに注意してください)
-
MD5暗号化に必要なjarパッケージをインポートします。jar パッケージの名前は commons-codec-1.9.jar です。Jmeter 自体には MD5 暗号化の機能がありますが、この jar パッケージが必要です。Jmeter のインストール パスにある lib フォルダーにこの jar パッケージがあるかどうかを確認できます。D :\ apache-jmeter-5.0\apache-jmeter-5.0\lib。そうでない場合は、インターネットからダウンロードして lib フォルダーに置きます。
-
常設の中国語 Jmeter。Jmeter のインストール パス D:\apache-jmeter-5.0\apache-jmeter-5.0\bin\jmeter.properties で jmeter.properties を見つけます。エディタで開きます (右クリックしてメモ帳で開きます): # language=en を見つけて、以下を追加します: language=zh_CN を保存して Jmeter を再起動します
パート 2: MD5 暗号化要求の署名検証スクリプトを作成する
1. スクリプトを作成するために新しく作成する必要があるものは次のとおりです。
-
スレッド グループを追加します: テスト計画 - 追加 - スレッド (ユーザー) - スレッド グループ
-
スレッド グループにプリプロセッサ BeanShell PreProcessor を追加します: [スレッド グループ] - [追加] - [プリプロセッサ] - [BeanShell PreProcessor] (BeanShell PreProcessor は主に、暗号化された文字列と MD5 暗号化の結合を完了するために使用されます)
-
スレッド グループの下に HTTP ヘッダー マネージャーを追加します: スレッド グループ - 追加 - 構成要素 - HTTP ヘッダー マネージャー。リクエストヘッダー内のパラメータを設定するために使用されます。
-
スレッド グループの下に HTTP リクエストを追加します: [スレッド グループ] - [追加] - [サンプラー] - [HTTP リクエスト]。
-
最後に、ビュー結果ツリーと集計レポートを追加します。 スレッド グループ - 追加 - リスナー - ビュー結果ツリー/集計レポート ビュー結果ツリーの目的は、リクエストが正常にアクセスされたかどうか、リクエストされたコンテンツと返されたコンテンツが正しい集計であるかどうかを確認することです。レポート: 主にリクエストの総数、平均リクエスト時間、応答時間、エラー数、エラー率、その他のデータをカウントするために使用されます。
2. 新しく作成したスクリプトのモデルが成功したら、スクリプトの内容の入力を開始し、スクリプトの MD5 暗号化機能を完了します。
-
次のコンテンツをプリプロセッサ BeanShell PreProcessor に追加します: (Jmeter 5 には org.apache.commons.codec.digest jar が付属しているため、インポートするだけで済みます) (文字列のスプライシング ルールの順序は次のとおりです: 最初の文字による)パラメータの、AZ とスプライシングの順序でパラメータを並べ替えます。図のパラメータの並べ替え規則を参照できます) (文字間の接続は同様です: appVersion=V1.0.0&clientType=XXX&productId=XXX&source=XXX,注: 会社によってスプライシング ルールが異なるため、特定のスプライシング ルールの開発について問い合わせる必要があります)
// MD5 暗号化に必要な jar パッケージをインポートします。 import org.apache.commons.codec.digest.DigestUtils; // 連結する必要がある文字列を宣言 String requestTime = "${__time(,)}"; // タイムスタンプを生成 String appVersion = "XXX"; String clientType = " XXX"; String productId = "XXX"; String source = "XXX"; //暗号化する必要がある文字列を連結 String str = "appVersion="+appVersion+"&clientType="+clientType+"&productId="+productId +"&requestTime ="+requestTime+"&source="+source+"starkid2018"; // 結合された文字列を暗号化 Stringsign = DigestUtils.md5Hex(str); vars.put("signStr",sign.toString()); //put生成されたsignStrは、Beanshell外部コンポーネント参照 。 vars.put("appVersion", appVersion. vars.put("clientType", clientType.toString()); //生成された clientType 参照を に提供しますビーンシェル外部コンポーネント
タイムスタンプを生成するには多くの方法があり、企業によってタイムスタンプの生成方法が異なります。この点については、特定の生成ルールの開発について問い合わせる必要があります。次に、いくつかの生成ルールを示します。
13 桁のタイムスタンプを生成します: ${__time(,)}
10 桁のタイムスタンプを生成します: ${__time(/1000,)}
その日のタイムスタンプに正確な現在の日付を生成します: ${__time(yyyy-MM-dd,)}
2 番目のタイムスタンプまで正確な現在の日付を生成します: ${__time(YMDHMS,)}
-
HTTP 情報ヘッダー入力インターフェイスの署名検証で検証する必要があるすべてのパラメーターを入力します (例: トークン、シンガなど)。特定の状況に応じて通過する
-
HTTP リクエストに、サーバー IP、リクエスト メソッド、インターフェイス パス、インターフェイス パラメーター、およびその他の値を追加します。
パート 3: スクリプトを実行する
1. クリック: メニュー バーの緑色のボタンをクリックして実行します。新しく作成された最初のテスト計画は、最初に保存するように求められます。既に構築されているテスト計画を任意の場所に保存するだけです。
2. 同時実行数を設定し、圧力テストを実行します。
3. 設定後、[実行] をクリックしてストレス テストを実行し、ストレス テストが完了すると、レポートでストレス テストの結果を確認できます。
ここに来た者として、皆さんが寄り道をしないように願っていますが、ここでは、自動テストを進める上で必要なことをいくつか共有し、皆さんのお役に立てれば幸いです。(WEB 自動テスト、アプリ自動テスト、インターフェイス自動テスト、継続的インテグレーション、自動テスト開発、大規模な工場面接の質問、履歴書のテンプレートなど)、より良い進歩をもたらすことができると信じています。