how use preprocessors jmeter
En este tutorial, aprenderá a usar JMeter PreProcessor y cómo funcionan los preprocesadores como SampleTimeOut, UserParameter, HTMLLinkParser, etc.
PreProcessor siempre ejecuta la acción antes de la solicitud de Sampler.
A continuación se muestra la lista de preprocesadores que se utilizan en JMeter:
- Parámetros de usuario
- Tiempo de espera de muestra
- Preprocesador JSR223
- Preprocesador JDBC
- Preprocesador de cáscara de frijol
- Analizador de enlaces HTML
- Modificador de reescritura de URL HTML
- Parámetros de usuario de RegEx
=> Haga clic aquí para El entrenamiento gratuito completo en JMeter (más de 20 videos)
Lo que vas a aprender:
Tutorial en vídeo del preprocesador de JMeter
Los preprocesadores son acciones que se realizan antes de que su muestreador real se ejecute en JMeter. Podría ser algo como almacenar valores de una variable, definir tiempos de espera, etc. El preprocesador se puede agregar a nivel de grupo de subprocesos o de muestreador.
SampleTimeOut PreProcessor puede definir el tiempo de espera de muestra para una solicitud. Cualquier tiempo de toma de muestra que sea mayor al definido fallará. UserParameter PreProcessor se utiliza para definir valores para variables para usuarios específicos.
Ejemplo , puede definir un valor para una variable para usuarios específicos y cuando se ejecuta el muestreador, se recogen los valores especificados en este preprocesador.
HTMLLinkParser analiza todos los enlaces de la respuesta de la solicitud anterior y luego puede acceder a cualquiera de los enlaces de la página al azar. Puede especificar '. *' En su ruta y seleccionaría cualquier enlace aleatorio presente en la página y lo alcanzaría con el mismo protocolo utilizado en un protocolo específico.
Pros y contras de bases de datos relacionales vs no relacionales
Preprocesador JMeter de uso común
Repasemos algunos de los preprocesadores de JMeter:
# 1) Preprocesador JSR223
El preprocesador JSR223 se realiza antes de la solicitud del muestreador y ejecuta la operación utilizando el script JSR223. Varios lenguajes que se pueden utilizar son JAVA, Groovy, BeanShell, JEXL, etc.
Siga los pasos a continuación para agregar este preprocesador:
- Agregue un grupo de subprocesos en un plan de prueba.
- Agregue el muestreador 'Solicitud HTTP'.
- Agregue el preprocesador JSR223.
- Agregar oyente 'Ver árbol de resultados'.
Ejemplo :
El siguiente script se puede escribir utilizando JavaScript para modificar el Muestrario de solicitudes HTTP:
|_+_|
Las variables JSR223 disponibles para el uso del script son las siguientes:
- Tronco: Esta variable se puede utilizar para escribir en el archivo de registro.
- Parámetros: Parámetros como una cadena.
- Etiqueta: Es una etiqueta de cadena.
- Nombre del archivo: Nombre de archivo de una secuencia de comandos si se agrega alguna secuencia de comandos externa
- Cuyo: Esta es una variable de JMeter que da acceso de lectura y escritura a las variables.
- Dechado: Se proporciona acceso al muestreador actual.
- argumentos: Matriz de cadenas como parámetro
- accesorios: Propiedades de JMeter
- ctx: Este es el contexto de JMeter que proporciona acceso al contexto
- FUERA: Para imprimir el mensaje (system.out)
# 2) Preprocesador JDBC
Este procesador se puede utilizar para ejecutar consultas SQL antes de que se ejecute el muestreador.
Para agregar el preprocesador, se siguen los pasos siguientes:
- Agregue un grupo de subprocesos al plan de prueba.
- Agregue el muestreador 'Solicitud HTTP'.
- Agregue el Administrador de encabezados HTTP.
- AÑADA JDBC PreProcessor al grupo de subprocesos.
- Agregue oyente como 'Ver árbol de resultados'.
Ejemplo:
En caso de que un usuario desee recuperar el nombre de usuario y la contraseña de los usuarios:
- Agregue un grupo de subprocesos al plan de prueba.
- Agregue la 'solicitud HTTP' del muestreador (los detalles del nombre de usuario y la contraseña de los datos requeridos también se pueden proporcionar en la parte del cuerpo del muestreador, pero no servirá para el propósito, ya que la actualización de cualquiera de estos detalles deberá actualizarse en el script como bien)
- Agregue el elemento de configuración 'Administrador de encabezados HTTP' y proporcione detalles para el nombre y el valor.
- Agregue el preprocesador JDBC.
Tipo de consulta se puede seleccionar del menú desplegable como Seleccionar declaración y la consulta se puede especificar para extraer lo mismo en el cuadro de consulta.
Las variables que se extraerán se pueden proporcionar con separación por comas.
- Agregue el oyente 'Ver árbol de resultados' y ejecute el plan de prueba para ver los resultados.
Preprocesador JDBC tiene campo Tipo de consulta que se puede seleccionar según el requisito.
Como en caso de que el usuario quiera actualizar los detalles, Declaración de actualización tendrá que ser utilizado. Del mismo modo, según sea necesario, se puede seleccionar otro tipo de consulta.
Ejemplo de declaración de selección preparada:
En caso de que el usuario deba cancelar la ID de cita de un paciente de los registros que hacen referencia al nombre del paciente, el usuario debe configurar la conexión JDBC y luego agregar un preprocesador JDBC seleccionando el tipo de consulta como Estado de cuenta selecto preparado. Ejecute el plan de prueba. El oyente agregado puede ver los resultados.
# 3) Analizador de enlaces HTML
Este procesador se utiliza para analizar la respuesta HTML y extraer todos los enlaces y formularios.
Siga los pasos a continuación para agregar el preprocesador:
- Agregue un grupo de subprocesos al plan de prueba.
- Agregar muestreador 'Solicitud HTTP'
- Agregar controlador simple.
- Agregue otra muestra 'Solicitud HTTP'.
- Agregue el preprocesador HTML Link Parser.
- Agregue el oyente 'Ver árbol de resultados'.
Ejemplo:
Para ver cómo se pueden rastrear las páginas internas, se pueden realizar los siguientes pasos:
- En Thread Group, agregue Sampler 'HTTP Request' y proporcione el nombre del servidor o IP. Cambie el nombre del muestreador a HTTP Request_Main.
- Agregue Simple Controller al plan de prueba.
- Agregue una 'solicitud HTTP' de muestra más y proporcione el nombre del servidor o IP y también proporcione /. * en la ruta para que pueda rastrear todos los enlaces encontrados. Cambie el nombre del muestreador a HTTP Request_Internal.
- Agregue el preprocesador 'HMTL Link Parser' y el oyente como 'Ver árbol de resultados' para ver la salida.
Siguiendo los pasos anteriores, la salida para la primera muestra será el nombre del sitio web en el campo de solicitud, mientras que para la segunda muestra, la salida serán las páginas internas rastreadas en el sitio web proporcionado. Consulte las capturas de pantalla a continuación para ver lo mismo.
# 4) Modificador de reescritura de URL HTTP
Para gestionar la URL de la información de la sesión, se utiliza la técnica de reescritura. Tiene la ventaja de que incluso si la cookie está desactivada en cualquier sistema, aún tiene el potencial de funcionar.
Para agregar el preprocesador, se siguen los pasos siguientes:
- Agregue el grupo de subprocesos al plan de prueba.
- Agregue una solicitud HTTP al plan de prueba.
- Agregue el preprocesador “Modificador de reescritura de URL HTTP” al plan de prueba.
- Agregue una 'solicitud HTTP' de muestra más al hilo.
Podemos usar este preprocesador de la siguiente manera:
Este preprocesador se puede aplicar al nivel de subproceso y también al muestreador específico. Si se aplica a nivel de subproceso, agregará el argumento para cada solicitud que esté allí en el subproceso.
Nombre del argumento de sesión : El nombre del parámetro de ID de sesión debe especificarse en este campo. El nombre del parámetro se puede encontrar en respuesta. Este parámetro se buscará en la página y donde se encuentre se tomará su valor asignado.
generador de números aleatorios 0-1
Extensión de ruta: En caso de que la aplicación reescriba la URL agregando un punto y coma y también incluya la ID de sesión, esta opción debe estar seleccionada.
No utilice iguales en la extensión de la ruta: En caso de que la aplicación reescriba las URL sin la “=” firmar entre el nombre del parámetro y el valor, esta opción debe estar marcada.
No use un signo de interrogación en la extensión de la ruta - Si se requiere que la aplicación impida que la cadena de consulta se cierre o termine en la extensión de la ruta, se debe marcar la opción.
ID de sesión de caché: En caso de que se requiera la ID de sesión para un uso posterior, se debe seleccionar esta opción.
Codificación de URL: En caso de que se requieran URL codificadas, se debe seleccionar esta opción.
# 5) Parámetros de usuario de RegEx
Este preprocesador permite recuperar el valor dinámico de los parámetros HTTP de la solicitud HTTP con el extractor de expresiones regulares. Está configurado para subprocesos independientes en un plan de prueba.
Para agregar el preprocesador, se siguen los pasos siguientes:
- Agregue un grupo de subprocesos en un plan de prueba.
- Agregue una solicitud HTTP a un grupo de subprocesos con un nombre de servidor o IP.
- Agregue Postprocesador 'Extractor de expresiones regulares' para extraer valores.
- Agregue otra solicitud HTTP a un grupo de subprocesos y proporcione el nombre del servidor o la IP.
- Agregue el preprocesador 'Parámetro de usuario Regex' a la segunda solicitud HTTP.
Este preprocesador se puede utilizar de la siguiente manera:
Nombre de referencia de expresión regular: El nombre de referencia especificado tendrá las variables que deben haber sido analizadas desde la primera solicitud HTTP.
Nombres de parámetros número de grupo de expresiones regulares: 1 representa ese grupo 1 de la expresión regular. Devolverá el nombres de las variables .
Valores de parámetro número de grupo de expresiones regulares: 2 representa ese grupo 2 de la expresión regular. Devolverá el valores de las variables .
# 6) Preprocesador BeanShell
Este preprocesador obtiene un valor aleatorio de una lista específica. Puede generar cadenas aleatorias para asignar valores a las variables.
El preprocesador BeanShell se agrega debajo del muestreador.
Para agregar el preprocesador, se siguen los pasos siguientes:
- Agregue un grupo de subprocesos al plan de prueba.
- Agregue Sampler al grupo de subprocesos.
- Agregue 'Preprocesador BeanShell' al muestreador agregado.
Ejemplo:
En caso de que la variable definida por el usuario se establezca en 'verdadero' como valor y este valor deba cambiarse a 'falso', el comando proporcionado a continuación se puede utilizar para hacer lo mismo. (Eliminar es una variable definida por el usuario, cuyo valor debe cambiarse))
|_+_|
Si se va a utilizar algún script externo, en ese caso, el archivo se puede cargar para el script en el campo Nombre de archivo. Se proporciona la opción Examinar para cargar el archivo externo.
Preguntas frecuentes sobre el preprocesador JMeter
P # 1) ¿Qué es un preprocesador en JMeter?
Responder : El preprocesador es el elemento que se utiliza para ejecutar las acciones antes de que se ejecute la solicitud del muestreador. Hay una serie de preprocesadores que se pueden usar para lograr diferentes propósitos, como retener el valor de la variable, obtener datos de las bases de datos, etc. Los preprocesadores se pueden agregar a nivel de Sampler o de hilo.
P # 2) ¿Qué es el preprocesador Beanshell en JMeter?
Responder : BeanShell está basado en un script y es un componente incorporado de JMeter. Este preprocesador se utiliza para ejecutar el script antes de que se ejecute el Sampler.
Conclusión
Los preprocesadores de JMeter, como comentamos, se ejecutan justo antes de que se ejecute el muestreador. JSR223 y Beanshell son preprocesadores basados en secuencias de comandos, mientras que JDBC se utiliza para las actividades de la base de datos, ya que es necesario obtener o recuperar los datos.
Analizador de enlaces HTML y parámetro de usuario RegEx no se utilizan tan popularmente como otros preprocesadores, pero cumplen el propósito requerido y tienen sus propias ventajas.
Lectura recomendada
- Oyentes de JMeter: análisis de resultados con diferentes oyentes
- Parametrización de datos de JMeter usando variables definidas por el usuario
- Variables y funciones de JMeter
- Cómo lograr la correlación de JMeter con el ejemplo
- Los 5 mejores complementos de JMeter y cómo usarlos (con ejemplos)
- Temporizadores JMeter: Temporizador aleatorio constante, BeanShell y Guassian
- Controladores Jmeter Parte 2
- Controladores Jmeter Parte 1