私はここではまったくの新人です (JAVA という意味です)、解決策を探すのに何時間も費やしましたが、今は自分を撃ちたいだけです。
HTTP リクエストのすぐ上に配置される beanshell アサーションに文字列を作成したいと考えています。
ビーンシェルで私は書いた:
String docid="abcd";
(実際には、文字列をいくつかの変数と連結したい)
HTTP リクエストで、パラメーター i add を送信します
${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 シェル サンプラーから別の Bean シェル サンプラーに値を渡す必要がある場合は、変数を使用する必要があります。
vars.put("a", "something")
他のサンプラーでは、次のようなものが必要です。
String otherSampler = vars.get("a")
シェル サンプラーのデバッグについて - それほど簡単ではありません。SampleResult オブジェクトを使用することをお勧めします。使用方法については、こちらで確認できますDebugging Bean Shell Sampler