JMeter でスレッド グループ間で変数を渡すにはどうすればいいですか? 質問する

JMeter でスレッド グループ間で変数を渡すにはどうすればいいですか? 質問する

2 つのスレッド グループを持つ JMeter テストがあります。1 つ目は単一のスレッド (在庫を作成する) で、2 つ目は複数のスレッド (すべての在庫を購入する) です。BeanShell アサーションと XPath 抽出を使用して、返された値 (XML) を解析し、変数 (購入するアイテムの ID など) を保存します。

しかし、最初のスレッド グループで作成された値は、標準${jmeter}型変数に抽出されたか、${__BeanShell(vars.get("jmeter"))}型 vars に抽出されたかに関係なく、2 番目のスレッド グループでは使用できません。最初のスレッド グループで変数を作成し、それを 2 番目のスレッド グループで表示できるようにする方法はありますか?

ベストアンサー1

変数ではこれを行うことができませんでした (変数は個々のスレッドに対してローカルであるため)。ただし、プロパティを使用するとこの問題を解決できました。

繰り返しになりますが、最初の ThreadGroup がすべてのセットアップを実行し、その作業から得た情報を 2 番目の ThreadGroup の各スレッドで利用できるようにする必要があります。最初の ThreadGroup には、次の BeanShell アサーションがあります。

${__setProperty(storeid, ${storeid})};

${storeid} は XPath 抽出機能で抽出されました。BeanShell アサーションは、前の呼び出しから storeid が返されたかどうかの確認など、他の処理も行います。

とにかく、2 番目の ThreadGroup では、次のように Samplers の "storeid" プロパティの値を使用できます。

${__property(storeid)}

素晴らしい効果です!

おすすめ記事