2017-05-17 2 views
0

私のCSVファイルにテストケースがあります。リクエストURLにはカスタムという変数があります。Beanshellプリプロセッサー経由でJMeterを送信する前にHTTPリクエストを変更するにはどうすればいいですか?

サンプルURL:.../abc/$id

私たちは前の要求からの応答を取得idことで、このidを交換する必要があります。私は応答からidをフェッチするためにjson抽出プログラムを使用しました。今度は、次のテストケースのリクエストでこれを更新する必要があります。idコードの下に使用してJMeterのコンテキストからのリクエストURLフェッチ:私はJMeterのコンテキストでこの更新されたURLを設定することはできませんよ

String path = ctx.getCurrentSampler().toString(); 
path.replaceAll("$id", id); 

をあなたに新しいパス値を割り当てる必要があります(ctx

答えて

1
  1. path変数
  2. あなたがそうあなたのようにコードを修正する必要がsampler.setPath() method

を使用して、新しい値にサンプラーのパスを設定する必要があります。

String path = ctx.getCurrentSampler().toString(); 
path = path.replaceAll("$id", id); 
sampler.setPath(path); 

デモ:

JSR223 PreProcessor change path


Groovyの性能が非常に高いとしてもJSR223 PreProcessorGroovy languageへの切り替えを検討し、それがより良い新しいJava機能をサポートし、上のいくつかの余分な "シンタックスシュガー" を提供上。詳細は、Groovy is the New Blackの記事を参照してください。

0

可能であれば、プリ/ポストプロセッサーを避けるようにしてください。 お客様の要件は非常に簡単で簡単です。

これはパスで直接使用します。idが値を持つ変数の名前であると仮定します。

/abc/${id}

関連する問題