2016-07-19 12 views
0

OAuthトークンを使用してAPIサービスをテストしています。 私たちはapiサービスごとの負荷を分割する必要があります。したがって、私は別のスレッドグループのすべてのサービスを分離しました。抽出されたOAUTHトークン(APIへのリクエストを作成するためにaccesトークンが必要)はスレッドグループのローカルなので、私は小さなbeanshellスクリプトを使ってすべてのトークンをCSVファイルに書き出しました。 以降では、これらのトークンはAPI呼び出しの実行時に使用されます。jmeter beanshellを使用してcsvファイルを上書きする

私が直面している問題は、メモリにあらかじめロードされていることです(間違っていれば私を修正してください)。その時点でトークンが受信されていないので、私のAPIコールは正規表現EOF 。これは、要求が成功した後で数回だけ発生します。私はいくつかのthinktimeを実装するapi要求のための一度だけのコントローラを実装しましたが、これはすべてのユーザが認証されてトークンを受け取るのを待つのに役立ちます。

質問1:(カスタムコード/ beanshellを使用して)各api呼び出しのCSVファイルからリアルタイムでトークン値を読み取るにはどうすればよいですか?

質問2:どのように私のbeanshellスクリプトを作成できますか(下記参照)oauth2シーケンスが実行されるたびに、csvファイル全体をREWRITEできますか?

状況:

enter image description here

+0

注:スレッドは連続して実行されないように設定されています(APIは並列に要求します)。 – DMC

+0

IMO設計を1つのスレッドグループに変更し、スループットコントローラがパラレルで実行するスレッド数とスレッド数を制御できるようにしました。私。たとえば、10個のグループx100人のユーザーがいれば、1つのグループx1000ユーザーのようなもので、10個のスループット・コントローラーのそれぞれに10%の負荷を使用するよう指示します。そうすれば、才能の必要性はすべて消えてしまいます。 –

+0

これをテストしたばかりですが、スレッド・コントローラのようなリクエストはスレッド・グループのように同時に開始されません。 – DMC

答えて

0

2別々testplansを使用して問題を修正しました。

プランA)必要なトークンを生成するためにX人の必要な同時ユーザー数で1回の繰り返しを行い、トークンをCSVファイルに書き込みます。

プランB)CSVデータセット(OAUTHシーケンスは不要)を使用してスループットコントローラで分割されたすべてのAPIサービスを呼び出します。

関連する問題