2016-11-15 12 views
0

当社のウェブサイトの負荷テストに取り組んでいます。テストフラグメント中にログに変数を書き込むJMeter

私は主なテスト計画にいくつか含まれているテスト・フラグメントを持っています。 主なテスト計画では、移動する前に、スレッドがどのくらい長く(異なるテスト・フラグメントで休止するか)のパラメータを設定します。

コンソールに私たちが待っているものを書きたいのですが、問題は、テストフラグメントでコンソールに一度ログオンする方法が見つからないということです。

これは私が現在、私のフラグメントに持っているものです。

BeanShellのポストプロセッサ私は、HTTPリクエストごとにログメッセージに表示されるコンソールで

log.info("### User is interacting with the GLASSES-page for: " + vars.get("glassesSpentTime") + "ms") 

:ように

jmeter.util.BeanShellTestElement: ### User is interacting with the GLASSES-page for: 37000ms 
jmeter.util.BeanShellTestElement: ### User is interacting with the GLASSES-page for: 37000ms 
jmeter.util.BeanShellTestElement: ### User is interacting with the GLASSES-page for: 37000ms 

をと...

私はこのメッセージをログに記録しておきたいだけです。 テスト・フラグメントで1つのログ・メッセージを送信するために使用することはできますか?

ありがとうございます!

/J

答えて

2

ポストプロセッサは、後処理を必要とするHTTPリクエストの子要素であるべきです。 HTTPリクエストと同じレベルの場合、JMeterはすべてのHTTPリクエストでポスト処理&を呼び出す必要があるとみなします。

お分かりのように、各スレッドはスレッドグループ全体を個別に実行します。したがって、3人のユーザーがいる場合、3つのログメッセージが表示されます。この混乱を避けるには、

log.info("### User${__threadNum} - is interacting with the GLASSES-page for: " + vars.get("glassesSpentTime") + "ms") 

ここに示すようにログを取得してください。

jmeter.util.BeanShellTestElement: ### User1 - is interacting with the GLASSES-page for: 37000ms 
jmeter.util.BeanShellTestElement: ### User2 - is interacting with the GLASSES-page for: 37000ms 
jmeter.util.BeanShellTestElement: ### User3 - is interacting with the GLASSES-page for: 37000ms 
+0

恐ろしい!私はJMeter noobですので、あなたのご意見を非常に感謝しています。私はそれを試してみて、それがうまくいくなら答えを記します。 – jBoive

関連する問題