28

jMeter を使用して Tomcat アプリケーションをテストしています。jMeter の応答を解析して、2 番目の要求を行う必要があります。最初の応答は次のようになります。

<responseData class="java.lang.String">&lt;html&gt;&#xd;
&lt;body&gt;&#xd;
ERROR=0&#xd;
MSG=N/A&#xd;
FILELIST=1555;1340778737370;1526545487;&#xd;
VERSION=1.002&#xd;
URL=https://192.168.100.46/updserver/download?action=signature_download&amp;token=&#xd;
INTERVAL=0&#xd;
&lt;/body&gt;&#xd;
&lt;/html&gt;&#xd;
</responseData>

「FILELIST」変数と「URL」変数を抽出し、それらを新しい URL に挿入する必要があります。

https://192.168.100.46/updserver/download?action=signature_download&amp;token=1555;1340778737370;1526545487;&#xd;

それを行うためのポストプロセッサがあることは知っていますが、それを行う方法の手がかりはありません。ところで、2 番目の要求は Tomcat サーブレットからいくつかのファイルをダウンロードします。物理ファイルに書き込むことなく、jMeter にストリームをダウンロードさせる方法はありますか? サーブレットに対して負荷パフォーマンス テストを実行できるようにするためです。

4

2 に答える 2

21

わかりましたので、応答から URL を抽出する方法は既に知っています。以前の回答でその方法を説明しました。

https://stackoverflow.com/a/11188349/169277

しかし、ここではそれについて詳しく説明します。サンプラーがあり、すでに $ を取得しています{url}。ここで、新しい URL が必要FILELISTになり、組み立てます。

リクエストと URL エクストラクタが既に配置されていると仮定します。新しい を追加しRegular expression extractorます。

Right click on request sampler -> Post Processors -> Regular Expression Extractor

Reference Name : FILELIST
Regular Expression : FILELIST=(\S+)
Template : $1$
Match No. (0 for Random): 1

これで、1 つのリクエスト サンプラーと 2 つの正規表現エクストラクタができました。新しい URL を作成するには、ポスト プロセッサを追加する必要があります。

Right click on request sampler -> Post Processors -> BSF PostProcessor

beanshellの下の言語ドロップリストから を選択Script languageし、大きなフィールドに次をScript:貼り付けます。

vars.put("NEW_URL", "${__javaScript('${url}'.replace('&#xd;'\,'${FILELIST}'))}");

そして今${NEW_URL}、テストでさらに使用する必要があります。

問題を解決する方法は常に複数あります。この 1 つのライナーは非常に見苦しく見えますが、目的は果たします。

私のテストでは、結果はあなたが要求したとおりです(デバッグサンプラー):

url=https://192.168.100.46/updserver/download?action=signature_download&amp;token=&#xd;
FILELIST=1555;1340778737370;1526545487;&#xd;
NEW_URL=https://192.168.100.46/updserver/download?action=signature_download&amp;token=1555;1340778737370;1526545487;&#xd;

編集 :

変数に名前を付ける方法が理解できないと思います。しかし、最終結果はあなたが質問で説明したものです。実際の例に添付されている .jmx テストを参照してください。

http://www.filefactory.com/file/1q7nfitmh4qd/n/so_11309469_jmx

これは、2.6 以降のバージョンの jmeter で動作する jmeter .jmx ファイルです。

于 2012-07-03T10:57:56.007 に答える
7

応答の一部をキャプチャするには、正規表現エクストラクタを使用します。

ViewResultsTree リスナーを使用して、応答データで正規表現をテストできます。ViewResultsTree リスナーの左側のパネルの下部にあるドロップダウン ボックスで [正規表現テスター] を選択するだけです。

于 2012-07-03T08:12:38.987 に答える