私はここでは絶対に新人です(つまりJavaです)。解決策を探すために何時間も費やしましたが、今は自分を撃ちたいだけです。
HTTPリクエストの真上に配置されるbeanshellアサーションに文字列を作成したい。
豆殻で私は書いた:
String docid="abcd";
(実際には、文字列をいくつかの変数と連結したい)
HTTPリクエストで、追加パラメーターを送信${docid}
。
BeanShellアサーションの説明セクション には、次の情報が含まれています。
vars - JMeterVariables - e.g. vars.get("VAR1"); vars.put("VAR2","value"); vars.putObject("OBJ1",new Object());
props - JMeterProperties (class Java.util.Properties) - e.g. props.get("START.HMS"); props.put("PROP1","1234");
したがって、BeanShellコード(この場合はBeanShellアサーションサンプラー)でjmeter変数を設定するには、以下を使用します。
String docid = "abcd";
vars.put("docid",docid);
または単に
vars.put("docid","abcd");
そして、HTTPリクエストで行ったように、それを$ {docid}として参照できます。
Java=がよくわからない場合は、BSFまたはJSR223テスト要素のいずれかを使用して、スクリプト言語としてJavaScript言語を選択できます。
http://jmeter.Apache.org/usermanual/component_reference.html#JSR223_Sampler
あるBeanシェルサンプラーから別のサンプラーに値を渡す必要がある場合は、変数を使用する必要があります。
vars.put("a", "something")
他のサンプラーでは、次のようなものが必要です。
String otherSampler = vars.get("a")
シェルサンプラーのデバッグについて-それほど簡単ではありません。 SampleResultオブジェクトを使用することをお勧めします。使い方はこちら Debugging Bean Shell Sampler