Buscar..


Introducción

La parametrización es la creación de diferentes conjuntos de datos para diferentes usuarios en el mismo script de prueba. Por ejemplo, ejecutar varios usuarios con diferentes credenciales en el mismo script. Esto lo convierte en uno de los principales aspectos en la creación de pruebas de rendimiento.

Parametrización utilizando archivos externos.

Una de las formas comunes de parametrizar sus scripts de rendimiento es usar un archivo CSV. El mejor ejemplo de uso de archivos de entrada CSV es un proceso de inicio de sesión. Si desea probar su aplicación en diferentes usuarios, debe proporcionar una lista de credenciales de usuario.

Supongamos que tenemos una solicitud de inicio de sesión que funciona para un usuario específico: introduzca la descripción de la imagen aquí

Podemos parametrizar fácilmente esa solicitud utilizando un archivo CSV externo y ejecutando el script en diferentes usuarios. Para agregar la configuración de parametrización CSV:

Haga clic con el botón derecho en la solicitud de inicio de sesión -> Agregar -> Elemento de configuración -> Configuración de conjunto de datos CSV

introduzca la descripción de la imagen aquí

Una breve explicación de los parámetros de 'Configuración de conjunto de datos CSV':

  • Nombre: nombre del elemento tal como se usará en el árbol JMeter
  • Nombre de archivo: nombre del archivo de entrada. Los nombres de archivo relativos se resuelven en función de la ruta del plan de prueba activo. Los nombres de archivo absolutos también son compatibles
  • Codificación del archivo: codificación del archivo de entrada, si no es la predeterminada de la plataforma
  • Nombres de variables: lista de nombres de variables separados que se utilizarán como contenedores para los valores analizados. Si está vacío, la primera línea del archivo se interpretará como la lista de nombres de variables
  • Delimitador: delimitador que se usará para dividir los valores analizados del archivo de entrada
  • ¿Permitir datos citados? - verdadero en caso de que desee ignorar las comillas dobles y permitir que dichos elementos contengan un delimitador.
  • Reciclar en EOF? - true en caso de que el plan de prueba del archivo deba iterar sobre el archivo más de una vez. Le indicará a JMeter que mueva el cursor al principio del archivo
  • ¿Detener el hilo en EOF? - falso en caso de iteración de bucle sobre el archivo CDC y verdadero si desea detener el hilo después de leer todo el archivo
  • Modo de uso compartido:
    • Todos los subprocesos: el archivo se comparte entre todos los usuarios virtuales (el valor predeterminado)
    • Grupo de hilos actual: el archivo se abrirá una vez para cada grupo de hilos
    • Tema actual: cada archivo se abrirá por separado para cada uno de los temas.
    • Identificador: todos los subprocesos que comparten el mismo identificador también comparten el mismo archivo

Vamos a crear un archivo csv que contenga diferentes usuarios con nombres y contraseñas: introduzca la descripción de la imagen aquí

Ahora podemos usar este archivo con la configuración del conjunto de datos CSV. En nuestro caso, es suficiente agregar los valores de configuración de "Nombre de archivo" y "Nombres de variables": introduzca la descripción de la imagen aquí

El último paso que tenemos que tomar es parametrizar la solicitud de inicio de sesión con variables CSV. Esto se puede hacer sustituyendo los valores iniciales con las variables apropiadas del campo de configuración "Nombres de variables" de la configuración del conjunto de datos CSV, como esto: introduzca la descripción de la imagen aquí Si ejecutamos nuestro script de prueba ahora, JMeter sustituirá estas variables con valores del archivo 'TestUsers.csv'. Cada usuario virtual de JMeter recibirá las credenciales de la siguiente línea de archivo csv.

La solicitud de inicio de sesión del primer usuario:

introduzca la descripción de la imagen aquí

La solicitud de inicio de sesión por el segundo usuario: introduzca la descripción de la imagen aquí

Parametrización utilizando bases de datos

Otra forma de parametrizar sus scripts de rendimiento es utilizar datos de base de datos a través de JDBC. JDBC es una interfaz de programación de aplicaciones que define cómo un cliente puede acceder a una base de datos.

En primer lugar, descargue el controlador JDBC a su base de datos (consulte al proveedor de la base de datos). Por ejemplo, el controlador mysql se puede encontrar aquí. Luego, puede agregarlo agregando el archivo .jar al plan de prueba mediante el siguiente formulario:

introduzca la descripción de la imagen aquí

Pero es mejor agregar el archivo Jar en la carpeta lib y reiniciar JMeter.

Después de eso, configure la conexión de la base de datos utilizando el elemento 'Configuración de conexión JDBC'. De esta manera: haga clic con el botón derecho en Grupo de subprocesos -> Agregar -> Elemento de configuración -> Configuración de conexión JDBC

introduzca la descripción de la imagen aquí

Parámetros de 'Configuración de conexión JDBC':

  • Nombre: nombre de la configuración de conexión que se mostrará en el árbol del grupo de hilos
  • Nombre de variable: nombre que se utilizará como identificador único para la conexión db (se pueden usar varias conexiones y cada una se vinculará a un nombre diferente)
  • Número máximo de conexiones: número máximo de conexiones permitidas en el grupo de conexiones. En caso de 0, cada subproceso obtendrá su propio grupo de servidores con una sola conexión.
  • Max Wait (ms): el grupo genera un error si se excede el tiempo de espera especificado durante la conexión de db
  • Tiempo entre ejecuciones de desalojo (ms): número de milisegundos para pausar entre ejecuciones del subproceso que desaloja las conexiones no utilizadas de la agrupación db
  • Confirmación automática: sí para activar la confirmación automática para conexiones db relacionadas
  • Probar mientras está inactivo: verifique las conexiones inactivas antes de que se detecte una solicitud efectiva. Más detalles: BasicDataSource.html # getTestWhileIdle
  • Soft Min Evictable Idle Time (ms): período de tiempo durante el cual una conexión especificada puede estar inactiva en la agrupación de db antes de que pueda ser desalojada. Más detalles: BasicDataSource.html # getSoftMinEvictableIdleTimeMillis
  • Consulta de validación: consulta de comprobación de estado que se utilizará para verificar si la base de datos sigue respondiendo
  • URL de la base de datos: cadena de conexión JDBC para la base de datos. Vea aquí para ejemplos
  • Clase de controlador JDBC: nombre apropiado de la clase de controlador (específico para cada db). Por ejemplo, 'com.mysql.jdbc.Driver' para MySql db
  • Nombre de usuario - nombre de usuario de la base de datos
  • Contraseña: contraseña de la base de datos (se almacenará sin cifrar en el plan de prueba)

En nuestro caso necesitamos configurar los campos obligatorios solamente:

  • Nombre de la variable Bound to Pool.
  • URL de la base de datos
  • Clase de controlador JDBC
  • Nombre de usuario
  • Contraseña

El resto de los campos en la pantalla se pueden dejar como valores predeterminados: introduzca la descripción de la imagen aquí

Supongamos que almacenamos credenciales de usuario de prueba en la base de datos: introduzca la descripción de la imagen aquí

Ahora, cuando la conexión de la base de datos está configurada, podemos agregar la solicitud JDBC y usar su consulta para obtener todas las credenciales de la base de datos: haga clic con el botón derecho en Grupo de subprocesos -> Agregar -> Muestra -> Solicitud JDBC

Al utilizar la consulta 'Seleccionar declaración' y 'Nombres de variables' podemos analizar la respuesta a las variables personalizadas.

introduzca la descripción de la imagen aquí

Ahora tendremos variables JMeter que se pueden usar más en solicitudes posteriores. Las variables especificadas se crearán con sufijo incremental (email_1, email_2, email_3 ... ..).

Para usar estas variables en la 'Solicitud de inicio de sesión', debemos agregar un contador que se usará para acceder a los valores correctos de la respuesta de consulta JDBC. Para agregar el elemento 'Contador' en JMeter: haga clic con el botón derecho en Grupo de subprocesos -> Agregar -> Elemento de configuración -> Contador

introduzca la descripción de la imagen aquí

Después de eso, podemos actualizar la 'Solicitud de inicio de sesión' usando la función __V. Esto devuelve el resultado de evaluar una expresión de nombre de variable y se puede usar para evaluar referencias de variables anidadas:

introduzca la descripción de la imagen aquí

La configuración especificada es suficiente para usar los valores de la base de datos para ejecutar el script en diferentes usuarios: introduzca la descripción de la imagen aquí introduzca la descripción de la imagen aquí

Parametrización utilizando el plugin 'Controlador parametrizado'

Si necesita ejecutar una secuencia de repetición de la misma acción con diferentes parámetros, use el complemento de terceros 'Controlador parametrizado' del proyecto JMeter-Plugins .

Debe instalar este complemento primero siguiendo el procedimiento de instalación.

Supongamos que queremos parametrizar el flujo de trabajo de inicio de sesión:

introduzca la descripción de la imagen aquí

En primer lugar, debe instalar el complemento 'Controlador parametrizado', ya que no está incluido en el núcleo de JMeter. Los pasos de instalación de ese proceso se pueden encontrar aquí.

Movamos la 'Solicitud de inicio de sesión' a un controlador independiente y desactívelo (haga clic con el botón derecho y seleccione "Desactivar"). Esta es la forma más preferible de tener un contenedor de módulos dentro de su plan de prueba y evitar el uso de Workbench como tal contenedor. Una vez finalizada la instalación, puede agregar dos controladores 'Controlador parametrizado' con diferentes credenciales de usuario: Haga clic derecho en Grupo de subprocesos -> Agregar -> Controlador lógico -> Controlador parametrizado

introduzca la descripción de la imagen aquí

Los controladores parametrizados contienen la sección 'Variables definidas por el usuario', donde puede especificar sus parámetros. Coloque las credenciales del primer usuario en el primer controlador parametrizado y las credenciales del segundo usuario en el segundo controlador parametrizado. introduzca la descripción de la imagen aquí

Dentro de los dos controladores parametrizados, agregue referencias al 'Controlador reutilizable' para llamar a la 'solicitud de inicio de sesión' con diferentes parámetros. Se puede hacer de esta manera:

Haga clic con el botón derecho en 'Controlador parametrizado' -> 'Agregar' -> 'Controlador lógico' -> 'Controlador de módulo'

introduzca la descripción de la imagen aquí

Cuando ejecute su script, verá que la 'solicitud de inicio de sesión' activó cada uno de los controladores parametrizados por separado. Puede ser muy útil en caso de que necesite ejecutar su script en diferentes combinaciones de parámetros de entrada.

introduzca la descripción de la imagen aquí



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow