2011-04-11 40 views
28

Estoy usando jmeter para probar una aplicación php. Necesito crear un hilo diferente con una sesión única para cada usuario. Debido a que en mi aplicación solo puede tener un inicio de sesión por usuario a la vez, por lo que al poner 100 veces el mismo usuario no llegaré a ninguna conclusión. He creado 40 usuarios user0, user1 .... user39 con la misma contraseña ¿hay alguna manera de crear automáticamente subprocesos simultáneos para cada uno de ellos?inicios de sesión de múltiples usuarios en jmeter

Gracias

Respuesta

27

Puede utilizar un archivo CSV conjunto de datos de configuración. Este control le permitirá usar una fuente externa de variables. Agregar -> Config Element -> CSV conjunto de datos de configuración debe establecer los nombres de las variables, algo así como: nombres de variable (delimitados por comas): nombre de usuario,

A continuación, puede utilizar las variables de los parámetros de las peticiones HTTP como: $ {USERNAME} y $ {PASSWORD}

+0

gracias por la respuesta, voy a comprobar si/cómo funciona y le daré el voto de aceptación;) –

+0

Véase también http: // jmeter-tips.blogspot.co.uk/2010/03/tip-10-how-to-add-authorization-to-test.html – wmorrison365

1

He creado un archivo CSV y colocado en el directorio bi y agregado el archivo de configuración de datos csv con los parámetros UID y PWD pero cuando ejecuto la prueba no muestra la identificación del usuario y la contraseña en el archivo csv en su lugar se muestra como txtlogin = & txtpassword =. ¿Por qué no selecciona los ID de usuario y la contraseña

52

Acabo de implementar esto usando jmeter para una aplicación que usa Spring Security (Sería muy similar a PHP). Esto es bastante sencillo, básicamente:

1) Crear un nuevo archivo CSV usando un editor de texto Ex: CSVSample_user.csv

username1, password1 
    username2, password2 

2) En jmeter, crear un elemento de datos CSV Establecer Configuración

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

3) Crear un elemento de solicitud 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). 


NOTA: hay otros elementos que necesita, como administrador de cookies, etc. También es necesario establecer el número de subprocesos para la cantidad de usuarios que inician sesión.

enter image description here

1

archivo csv y mantener testplan (es decir jmx) en una misma carpeta y vuelva a verificar el nombre de la variable en datasetconfig y http solicitud CSV para cualquier error de escritura.

24

Me doy cuenta de que esta pregunta tiene más de un año, pero me encontré con el mismo problema y pensé en agregar mi solución a cualquier persona que se topa con este problema.

Si tiene una secuencia de nombres de usuario y contraseñas que simplemente se diferencian por números al final de sus valores, puede usar la variable __threadNum para iniciar sesión. Por lo tanto, para el valor del nombre de usuario podría decir usuario $ {__ threadNum }.

Esta solución es más simple que incluir un csv pero solo funciona donde tiene una lista como la que sugirió en su pregunta.

+0

Puede combinar '$ {__ threadNum}' junto con beanshell o javascript 'switch'. Esto superará la limitación de "seqeuence only" porque en el cambio en sí mismo, básicamente, podría reemplazar el valor con cualquier cosa. – Pacerier

+0

Lo único que falta es relleno $ {__ threadNum} con los primeros 0 ... –

Cuestiones relacionadas