2017-10-18 9 views
1

私はこの単純なオブジェクトを持っています。設定JMeterのグローバルjavascriptオブジェクト

は、私が試した:

vars.putObject("test",apple);(プリプロセッサで、そうする前に、すべてのアサーション)(すべての表明で)

var test = vars.getObject("test");

しかし、関数が文字列としてキャストされているようです私はそれを私の主張で使うことはできません。

この作品を作成するには?

あなたがオブジェクトのリンゴ

public class apple { 
    String type = "macintosh"; 
    String color = "red"; 
    public String getInfo(){ 
     return "test"; 
    } 
}; 
var a = new apple(); 

vars.putObject("a",a); 

を追加し、後でそれを取得し、そのメソッドを使用することができ、Java言語を使用することができますJMeterので

答えて

1

を代わりにpropsの略語を使用するために、JMeter変数の代わりにJMeter Propertiesを考慮する必要がある「グローバル」なソリューションを探していますvarsです。 Sharing Variablesマニュアルの章ごととして:

のget()およびput()メソッドは文字列値のみを持つ変数をサポートしていますが、getObjectメソッド()とのputObject()は任意のオブジェクトのために使用することができる方法もあります。 JMeter変数はスレッドのローカル変数ですが、(Beanshellだけでなく)すべてのテスト要素で使用できます。 あなたがスレッド間で変数を共有する必要がある場合は、その後のJMeterプロパティは一つのテスト要素に例えば

を使用することができます別のもので

props.put('test', apple) 

(だけでなく、他のスレッドグループにすることができ)

var apple = props.get('test') 
log.info(apple.getInfo(1)) 

JMeter Properties across thread groups.

Groovyのパフォーマンスが他のスクリプトオプションよりもはるかに優れているため、starting from JMeter 3.1 it is recommended to use Groovy language for any form of scriptingということに注意してください。詳細はApache Groovy - Why and How You Should Use Itガイドを参照してください。

関連する問題