ソフトウェア テスト スキル、JMeter ストレス テスト チュートリアル、X-sign パラメーターを使用したリクエスト ヘッダーの自動署名 (22)

I.はじめに

インターフェイスのリクエスト本文には署名署名パラメータがあり、署名署名はリクエスト パラメータを結合することによって生成され、最後にリクエスト本文から署名パラメータを削除した後、MD5 暗号化が行われます。

前の記事では、リクエストの本文に署名の前にパラメータを配置しましたが、この記事では引き続き、署名パラメータをリクエスト ヘッダーに配置する状況について説明します。

2. 実施方法

http リクエストでは署名検証 X-Sign を実行する必要があり、それをリクエスト ヘッダーに含めます

コンテンツタイプ: application/json; charset=UTF-8
X 記号: 2a76a7d2ec34760afb7f4f3ff5a02ef3

本文:{“ユーザー名”: “am”, “パスワード”: “123456”, “メール”: “”}

署名は、スプライシングとソート後のリクエストボディによって生成された値 + "キー" の md5 によって暗号化されます。

特定の署名ルールについては、前の記事を参照してください: https://blog.csdn.net/x2waiwai/article/details/122843324

全体的な考え方と実装方法について説明しますと、BeanShell プリプロセッサでは、まずリクエストのヘッダーを取得し、署名値を取得してリクエストのヘッダーに追加し、新しいリクエスト ヘッダーを送信します

全体的な実装アイデアは次のとおりです
。 1. 最初にリクエスト ヘッダーの値を取得します。

2. 署名の符号値を取得します (詳細については前の署名を参照してください。署名の実装についてはここでは説明しません)。

3. 署名パラメータと対応する値をリクエストヘッダーに追加します

4. 新しいリクエストヘッダーを送信します

3. BeanShell プリプロセッサを追加する

HTTP ヘッダー マネージャー、X 記号パラメータを追加する必要はありません

Add-preprocessor-BeanShell プリプロセッサは署名値を取得し、署名規則に従ってリクエスト ヘッダーに追加します。実装コードは次のとおりです。

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.http.control.HeaderManager;
import org.apache.jmeter.protocol.http.control.Header;
import org.apache.jmeter.testelement.property.CollectionProperty;


//sampler 里面有个getHeaderManager 可以获得请求头
HeaderManager headers =sampler.getHeaderManager();

// 打印全部的头部内容
log.info(headers.getHeaders().getStringValue());

// 中间省略签名拿到的sign值,这里给固定的"aaaaaaaaaaaaaaaaaa"

// new 一个Header对象
signHeader = new Header("X-sign","aaaaaaaaaaaaaaaaaa");

// 添加 Header 到请求头管理器
headers.add(signHeader);

// 打印全部的头部内容
log.info(headers.getHeaders().getStringValue());

コード途中の署名を省略した符号値

これは固定の「aaaaaaaaaaaaaaaaaaaa」です。署名値は開発ドキュメントに従って実装されています。または、開発用の jar パッケージを見つけることができます。

印刷されたログの内容では、X マークを追加する前と後の比較を確認できます。

INFO o.a.j.u.BeanShellTestElement: [Content-Type    application/json]
INFO o.a.j.u.BeanShellTestElement: [Content-Type    application/json, X-sign    aaaaaaaaaaaaaaaaaa]

 結果の数を表示し、リクエスト ヘッダーにすでに X サインが付いていることを確認します。

おすすめ

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