2016-03-22 39 views
1

いくつかの回答を変数として保存し、後でテストで使用したいと思います。私は、ポストプロセッサBeanShellの中で次のように使用してみました:jmeterの応答を変数に抽出するには?

response = prev.getResponseDataAsString(); 
vars.put("memID", response); 

私は「STDOUT:」取得していますことを見つけるしかし、同様の変数に格納し、「標準エラー出力を」。これらのスペースと余分なスペースがなくても、どうすれば応答を保存できますか?

編集:応答例私は、この応答からのみ番号4281が必要

stdout: 
     4281 


stderr: 

below-。

+0

をお楽しみください! – vins

+0

が例を追加しました – user3871995

答えて

1

JMeterは任意の数字文字、当量に一致する D \ Regular expressions in Perl

によると、Perl5のスタイルの正規表現をサポートしています。

Regex Demo

:[0-9]

+一致1回以上に

だからあなたの正規表現は、ちょうど(\d+)

デモのように単純でなければなりません詳細については、Regular Expressionsマニュアルの章を参照してください。

上記のイメージのように、View Results Treeリスナーの "RegExp Tester"モードを使用して、正規表現をリアルタイムで実際の応答で再テストすることもできます。トラブルシューティングの詳細については、How to debug your Apache JMeter scriptの記事をご覧ください。

3

regular expressionを使用してレスポンスから何かをキャプチャするには、Reference Nameという名前のTextBoxの変数に変数を保存します。次に例としてスナップショットを示します。

enter image description here 上記の例では、スクリプト内のどこにtotal_quantityを使用することができます。

このような

- > $ {total_quantity}

+0

これを試してみましたが、変数にヌル値しか得られません。私が得る応答は、常に "stdout:"、 "stderr:"と一緒に3〜8桁の数字であり、変数を使用するためにそれから取り除く必要があるいくつかのスペースです。 – user3871995

+0

この正規表現 "ResponseValue"を試してください:[] *(\ s * \ d *)[] * – Yabko

+0

これを試しましたが、残念ながらすべてのnull値を取得しています – user3871995

0

境界を再確認する必要があります。また、使用している正規表現が必要なものをキャプチャしている必要があります。

あなたを助けるための素晴らしいツールです:https://regex101.com/

はあなたが取得し、あなたがそれから抽出するために必要なものレスポンスを追加することができ、

ローランド

関連する問題