web-dev-qa-db-ja.com

jmeterでの複数のユーザーログイン

私はjmeterを使用してphpアプリケーションをテストしています。ユーザーごとに一意のセッションを持つ異なるスレッドを作成する必要があります。私のアプリケーションでは、ユーザーごとに一度に1つのログインしかできないため、同じユーザーを100倍にすると、結論が出ません。同じパスワードで40人のユーザーuser0、user1 .... user39を作成しましたが、それぞれのユーザーに対して同時にスレッドを自動的に作成する方法はありますか?

ありがとう

30
Catalin Marin

CSVデータセット構成を使用できます。このコントロールにより、変数の外部ソースを使用できます。追加->構成要素-> CSVデータセット構成次のような変数名を設定する必要があります。変数名(カンマ区切り):USERNAME、PASSWORD

その後、次のようなHTTP要求パラメーターで変数を使用できます。$ {USERNAME}および$ {PASSWORD}

29
ghm1014

Spring Securityを使用するアプリのjmeterを使用してこれを実装しました(PHPに非常に似ています)。これは基本的にかなり簡単です。

1)テキストエディターを使用して新しいCSVファイルを作成する例:CSVSample_user.csv

   username1, password1
   username2, password2

2)jmeterで、CSV Data Set Config要素を作成します

  Thread Group>add>Config Element>CSV Data Set Config
  => Assign variable names (see image)

3)HTTPリクエスト要素を作成する

  Thread Group>add>Sampler>HTTP Request
  => Create a POST with parameters, have the variable you created 
     put the values for the parameter. (See bottom image).


注:Cookieマネージャーなど、必要な他の要素があります。また、スレッドの数をログインユーザーの数に設定する必要があります。

enter image description here

55
ibaralf

この質問は1年以上前のものですが、同じ問題に出くわしたばかりで、この問題に出くわした他の人に自分のソリューションを追加したいと考えました。

値の末尾の数字で単に区別されるユーザー名とパスワードのシーケンスがある場合は、__ threadNum変数を使用してそれらをログインできます。したがって、ユーザー名の値には、user $ {__ threadNum}と言うことができます。

このソリューションは、csvを含めるよりも簡単ですが、質問で提案したようなリストがある場合にのみ機能します。

26
Matt Clark

csvファイルとテスト計画(i.s jmx)を同じフォルダーに保存し、CSVデータセット構成の変数名と、入力エラーのhttp要求を再確認します。

1
Divesh Salian