web-dev-qa-db-ja.com

JMeterはHTTPリクエストでbeanshell変数を使用します

私はここでは絶対に新人です(つまりJavaです)。解決策を探すために何時間も費やしましたが、今は自分を撃ちたいだけです。
HTTPリクエストの真上に配置されるbeanshellアサーションに文字列を作成したい。

  • 豆殻で私は書いた:

    String docid="abcd";
    

    (実際には、文字列をいくつかの変数と連結したい)

  • HTTPリクエストで、追加パラメーターを送信${docid}

12
Suyash

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}として参照できます。

21

Java=がよくわからない場合は、BSFまたはJSR223テスト要素のいずれかを使用して、スクリプト言語としてJavaScript言語を選択できます。

http://jmeter.Apache.org/usermanual/component_reference.html#JSR223_Sampler

3
UBIK LOAD PACK

あるBeanシェルサンプラーから別のサンプラーに値を渡す必要がある場合は、変数を使用する必要があります。

vars.put("a", "something")

他のサンプラーでは、次のようなものが必要です。

String otherSampler = vars.get("a")

シェルサンプラーのデバッグについて-それほど簡単ではありません。 SampleResultオブジェクトを使用することをお勧めします。使い方はこちら Debugging Bean Shell Sampler