jMeter-変数から値を抽出します

Aug 17 2020

私はjMeterを使用してWebサイトのストレステストを実行しています。変数の値を次のリクエストに渡す必要があります。

値は、応答本文で次のように表示されます。

var _data = {};
_data["_as_csrf_token"] = "64da5d341c253c2a181796d2524e57c6502d906b";
jQuery.ajaxSetup({ data: _data, type: "POST" });

この値を取得するには、正規表現エクストラクタをどのように使用する必要がありますか?

回答

UBIKLOADPACK Aug 17 2020 at 15:13

最も簡単な方法は、境界エクストラクタを使用することです。

左に設定:

data ["_ as_csrf_token"] = "

そしてその権利:

";

正規表現エクストラクタを使用する場合は、次を使用します。

data \ ["_ as_csrf_token" \] = "[^"] +? ";

DmitriT Aug 17 2020 at 23:04

関連する正規表現は次のようになります。

_data\["_as_csrf_token"\] = "(\w+)";

デモ:

  • 最初にメタ文字をエスケープする必要があります
  • \wある文字クラスワード文字(英数字で、大文字小文字を区別しないの)については、
  • + 繰り返しです

詳しくは:

  • JMeterでのRegEx(正規表現エクストラクタ)の使用
  • Perl5正規表現に関するチートシート
AbhishekPuri Aug 18 2020 at 20:07

ReEx Extractorを使用してデータを抽出するには、次の文字列を使用してください。

_data\[\"_as_csrf_token\"\] \= \"(.+?)\"\;

下のスクリーンショットに示すように、

抽出するデータが心配な場合に備えて。使用することをお勧めしますhttps://regexr.com/ このサイトを好む理由は、虎の巻にも役立つからです。

2番目の質問、なぜ(。+?)なぜ他に何もないのですか?その理由は、パターン内のあらゆる種類のテキストに一致するためです。特殊文字を気にする必要はありません。