2017-07-04 6 views
0

JMeter 3.2を使用してパフォーマンステストを作成しています。変数をJMeterのデータセットにリンクします

スレッドグループには、毎回リソースを要求し、サーバーを形成する複数のループを実行する複数のスレッド(ユーザー)が存在するセットアップがあります。

各スレッドは、ユーザーを識別するサーバーからトークンを取得する1回限りのコントローラーを経由し、後続のすべての要求で必要です。トークンは生成されるたびに異なっており、後で無効になるためデータセット(CSV)に格納することはできません。

テストユーザーのユーザー名とパスワードを含むデータセット(.csvファイル)があります。

これまでのところ、スレッドはトークンの送信を要求するサーバー上のリソースを要求する必要があります。それは最初はうまくいくが、2回目はうんざりする。各繰り返しはデータセットの次の行のデータを使用しているようですが、一度しかコントローラから取得したトークンは使用されたデータの列(ユーザー名とパスワード)にリンクされていないので、次のようなことが起こります:

thread1: data1/token1 - good

thread2: data2/token2 - good

Perhaps thread2 finishes first and starts the new iteration:

thread2: data1/token2 - error

thread1: data2/token1 - error

私の質問は、データセット(変数)の行に取り込まれたトークンをリンクすることができます。そのため、そのデータが要求に使用されるたびに正しいトークンが送信されますか?

私は考えがあります。いくつかのデータを持つハッシュテーブルをデータセットからキーとトークンとして値として作成しますが、いくつか問題があります。私は、次のコードを作成しました:

import java.util.Hashtable; 
map = new Hashtable(); 
vars.putObject("map", map); 

を、それは次のエラーをキャスト:それは最も最適なソリューションではないかもしれないけれども

java.util.Hashtable cannot be cast to java.lang.String 

答えて

0

は、私は最終的に、それを考え出しました。私がしたことは、JSONObjectであるプロパティを作成することです(変数は機能しません)。これで私はid(私のデータ用)とそれにリンクされたトークンを格納することができます。私はそれを文字列に変換してプロパティに格納します。

トークンを要求するHTTPリクエストのプリプロセッサで、プロパティを取得してJSONObjectに解析し、idを使用してトークンを検索できます。

関連する問題