2017-02-22 4 views
0

テストプラン内に2つのJmeterスレッドグループがあります。コントローラで他のスレッドグループ変数を呼び出す

Threadgroup 1 
    Java sampler 1 
     - produce some messages 
    Constant timer delay with 1000ms. 

Threadgroup 2 
    Java sampler 2 
     - Message will have 2 variables like "${var1} is going for walk in ${var2} ground" 
    Constant timer delay with 60000ms. 

各スレッドグループは、30分間スレッドが10回実行されます。

しかし、スレッドグループ1のスレッドは毎秒meesageを生成します。 Threadgroup2スレッドは、タイマーの遅れに基づいて毎分のメッセージを生成します。

どちらのスレッドグループは、これまでのところ、私はそれが働いて取得することができていますparellaly

を実行しています。

しかし、私はそれを実装する方法がわからない部分があります。 2番目のthreadgroup2 javaサンプラーのVar2は動的に生成されます。同じスレッド番号のこのvar2値に基づいてスレッドグループ1サンプラーを制御する必要があります。

i.e If thread1 of second threadgroup2 var2 has value "abc", then thread1 in threadgroup2 should not execute. Untill same threadnumber in second threadgroup , changes the value. Only that particular thread number should get controlled. 

Other threads should continue to execute. I tried to place while controller with var2 == "abc" & if controller . But did not see any change. 

これを解決する方法はありますか?前もって感謝します。

答えて

1

私は、最速かつ最も簡単な解決策は、あなたがあなたの条件が満たされるまで、参照用のSynchronizationExample.jmxテスト計画を参照してください、Java sampler 1実行を一時停止することができるようになります基本的にFIFO queueあるInter-Thread Communicationプラグインを使用すると考えています。

あなたは2通りの方法でスレッド間通信のプラグインをインストールすることができます。

  1. は手動であなたのJMeterのインストールに「LIB」および「LIB/EXT」フォルダをjpgc-fifoバンドルをダウンロードしたアーカイブのコンテンツを配置
  2. JMeter Plugins Managerを使用して自動的にインストールし、「利用可能なプラグイン」タブでInter-Thread Communicationを探します。あなたもこれと他のプラグインについて通知されます。この方法は

    JMeter Plugins Manager Inter Thread Communication

を更新します
関連する問題