web-dev-qa-db-fra.com

plusieurs connexions utilisateur dans jmeter

J'utilise jmeter pour tester une application php. J'ai besoin de créer un thread différent avec une session unique pour chaque utilisateur. Parce que dans mon application, vous ne pouvez avoir qu'une seule connexion par utilisateur à la fois, donc mettre 100 fois le même utilisateur, je ne parviendrai à aucune conclusion. J'ai créé 40 utilisateurs user0, user1 .... user39 avec le même mot de passe Existe-t-il un moyen de créer automatiquement des threads simultanés pour chacun d'eux?

Merci

30
Catalin Marin

Vous pouvez utiliser une configuration d'ensemble de données CSV. Ce contrôle vous permettra d'utiliser une source externe de variables. Ajouter -> Élément de configuration -> Configuration de l'ensemble de données CSV Vous devez définir les noms de variable, quelque chose comme: Noms de variable (séparés par des virgules): NOM D'UTILISATEUR, MOT DE PASSE

Ensuite, vous pouvez utiliser les variables dans vos paramètres de requêtes HTTP comme: $ {USERNAME} et $ {PASSWORD}

29
ghm1014

Je viens de l'implémenter en utilisant jmeter pour une application qui utilise Spring Security (ce serait très similaire à PHP). C'est assez simple, essentiellement:

1) Créez un nouveau fichier CSV à l'aide d'un éditeur de texte Ex: CSVSample_user.csv

   username1, password1
   username2, password2

2) Dans jmeter, créez un élément CSV Data Set Config

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

3) Créer un élément de requête 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).


REMARQUE: Il existe d'autres éléments dont vous avez besoin, tels que le gestionnaire de cookies, etc. Le nombre de threads doit également être défini en fonction du nombre d'utilisateurs connectés.

enter image description here

55
ibaralf

Je me rends compte que cette question remonte à plus d'un an, mais je viens de tomber sur le même problème et j'ai pensé ajouter ma solution à toute autre personne qui tombe sur ce problème.

Si vous avez une séquence de noms d'utilisateur et de mots de passe qui sont simplement différenciés par des nombres à la fin de leurs valeurs, vous pouvez utiliser la variable __threadNum pour les connecter. Ainsi, pour la valeur de nom d'utilisateur, vous pouvez dire utilisateur $ {__ threadNum}.

Cette solution est plus simple que d'inclure un csv mais ne fonctionne que lorsque vous avez une liste telle que celle que vous avez suggérée dans votre question.

26
Matt Clark

conservez le fichier csv et le plan de test (par exemple jmx) dans un même dossier et revérifiez le nom de la variable dans la configuration du jeu de données CSV et la requête http pour toute erreur de frappe.

1
Divesh Salian