5

JMeter を使用して HTTP POST リクエストを送信しています。

リクエストの本文は JSON です。たとえば、{"Var1": "${Var1}","Var2": ${Var2},"Var3":"${Var3}"}.

これらは、パラメーターの名前なしで HTTP 要求のパラメーターに設定されます。これは正常に機能し、beanshell プリプロセッサで設定した変数を使用してリクエストを送信できます (変数を設定して vars.put() を使用することにより)。

私の質問は、パラメータのプリプロセッサ部分を介してプログラムで送信するにはどうすればよいですか? 例えば:

if(a){
send parameters `{"Var1": "${Var1}","Var2": ${Var2}` as my JSON
}
else {
send parameters `{"Var3":"${Var3}"}` as my JSON
}

vars.remove() は、変数から値を削除しますが、リクエストで値を送信するため、機能しません (たとえば、 として"${Var1}")。

4

3 に答える 3

0

プリプロセッサを、ブール値aを計算してvarとして配置するBeanshellサンプラーに置き換えます。

vars.put("a", value)

次に、2つのIf Controllerを使用します。ここでは、それぞれに異なるパラメーターを持つサンプラーが含まれます。

最初のものの条件は${a}であり、それは${a}の否定になります。

于 2013-01-04T14:32:53.220 に答える
0

「Body Data」タブを使用するだけです。条件付きで JSON 文字列を作成し、通常のプレースホルダーを使用して本文データに変数を「出力」することができます。

于 2014-09-05T01:55:36.880 に答える