jMeter - Funciones

Funciones de JMeter y variables de usuario

Las funciones de JMeter son valores especiales que pueden completar campos de cualquier Sampler u otro elemento en un árbol de prueba.

  • Una llamada de función se ve así:

${__functionName(var1,var2,var3)}
  • _functionName coincide con el nombre de una función. Por ejemplo${__threadNum}.

  • Si un parámetro de función contiene una coma, asegúrese de escapar esto con "\" como se muestra a continuación:

${__time(EEE\, d MMM yyyy)}
  • Las variables se denominan -

${VARIABLE}

Lista de funciones

La siguiente tabla enumera un grupo de funciones agrupadas libremente en tipos:

Tipo de función Nombre Comentario
Información threadNum Obtenga el número de hilo.
Información samplerName Obtenga el nombre de la muestra (etiqueta).
Información máquinaIP Obtenga la dirección IP de la máquina local.
Información nombre de la máquina Obtenga el nombre de la máquina local.
Información hora Devuelve la hora actual en varios formatos.
Información Iniciar sesión Registra (o muestra) un mensaje (y devuelve el valor).
Información iniciar sesión Registrar (o mostrar) un mensaje (valor de retorno vacío).
Entrada StringFromFile Leer una línea de un archivo.
Entrada FileToString Leer un archivo completo.
Entrada CSVRead Leer de archivo delimitado por CSV.
Entrada XPath Utilice una expresión XPath para leer de un archivo.
Cálculo mostrador Genere un número creciente.
Cálculo intSum Suma números int.
Cálculo longSum Suma números largos.
Cálculo Aleatorio Genera un número aleatorio.
Cálculo RandomString Genera una cadena aleatoria.
Cálculo UUID Genere un UUID de tipo 4 aleatorio.
Scripting BeanShell Ejecute un script de BeanShell.
Scripting javaScript Procesar JavaScript (Mozilla Rhino).
Scripting jexl, jexl2 Evalúe una expresión de Commons Jexl.
Propiedades propiedad Leer una propiedad.
Propiedades PAGS Leer una propiedad (método abreviado).
Propiedades setProperty Establezca una propiedad de JMeter.
Variables división Divide una cadena en variables.
Variables V Evalúe el nombre de una variable.
Variables eval Evalúa una expresión variable.
Variables evalVar Evalúa una expresión almacenada en una variable.
Cuerda regexFunction Analice la respuesta anterior utilizando una expresión regular.
Cuerda escapeOroRegexpChars Citar metacaracteres utilizados por la expresión regular ORO.
Cuerda carbonizarse Genere valores de caracteres Unicode a partir de una lista de números.
Cuerda huir Procesar cadenas que contienen escapes de Java (por ejemplo, \ n & \ t).
Cuerda unescapeHtml Decodifica cadenas codificadas en HTML.
Cuerda escapeHtml Codifique cadenas mediante codificación HTML.
Cuerda TestPlanName Devuelve el nombre del plan de prueba actual.
  • Hay dos tipos de funciones:

    • Valores estáticos definidos por el usuario (o variables)

    • Funciones integradas

  • Los valores estáticos definidos por el usuario permiten al usuario definir variables que se reemplazarán con su valor estático cuando se compila un árbol de prueba y se envía para su ejecución.

  • Las variables no se pueden anidar; es decir${Var${N}} No funciona.

  • La función __V (variable) (versiones posteriores a 2.2) se puede usar para hacer esto - $ {__ V (Var $ {N})}.

  • Este tipo de reemplazo es posible sin funciones, pero es menos conveniente y menos intuitivo.

Dónde usar funciones y variables

Las funciones y variables se pueden escribir en cualquier campo de cualquier componente de prueba.

Las siguientes funciones deberían funcionar bien en un plan de prueba:

  • intSum
  • longSum
  • machineName
  • BeanShell
  • javaScript
  • jexl
  • random
  • time
  • funciones de propiedad
  • funciones de registro

Las funciones que se utilizan en el plan de prueba tienen algunas restricciones. Las variables de subproceso de JMeter no se habrán configurado completamente cuando se procesen las funciones, por lo que los nombres de variable pasados ​​como parámetros no se configurarán y las referencias de variables no funcionarán. Por lo tanto, split () y regex () y las funciones de evaluación de variables no funcionarán. La función threadNum () no funcionará y no tiene sentido a nivel de plan de prueba.

Referenciar variables y funciones

  • La referencia a una variable en un elemento de prueba se hace entre corchetes el nombre de la variable con '$ {' y '}'.

  • Las funciones se referencian de la misma manera, pero por convención, los nombres de las funciones comienzan con "__" para evitar conflictos con los nombres de los valores de usuario.

  • Algunas funciones toman argumentos para configurarlas, y estos van entre paréntesis, delimitados por comas. Si la función no tiene argumentos, se pueden omitir los paréntesis. Por ejemplo

${__BeanShell(vars.put("name"\,"value"))}
  • Alternativamente, puede definir su script como una variable, por ejemplo, en el Plan de prueba -

SCRIPT     vars.put("name","value")
  • A continuación, se puede hacer referencia al script de la siguiente manera:

${__BeanShell(${SCRIPT})}

El cuadro de diálogo Asistente de funciones

El cuadro de diálogo Function Helper está disponible en JMeter's Options lengüeta.

  • Con el Asistente de funciones, puede seleccionar una función del menú desplegable y asignar valores para sus argumentos. La columna de la izquierda de la tabla proporciona una breve descripción del argumento, y la columna de la derecha es donde escribe el valor de ese argumento. Las diferentes funciones toman diferentes argumentos.

  • Una vez que haya hecho esto, haga clic en el botón "Generar" y se generará la cadena correspondiente, que puede copiar y pegar en el plan de prueba donde lo necesite.

Variables predefinidas

Algunas variables son definidas internamente por JMeter. Ellos son -

  • COOKIE_cookiename: contiene el valor de la cookie.

  • JMeterThread.last_sample_ok - si la última muestra fue correcta o no - verdadero / falso. Nota: esto se actualiza después de que se hayan ejecutado PostProcessors y Assertions.

  • START variables.

Propiedades predefinidas

Algunas propiedades integradas están definidas por JMeter. Estos se enumeran a continuación. Por conveniencia, las propiedades START también se copian en variables con los mismos nombres.

  • START.MS - Hora de inicio de JMeter en milisegundos.

  • START.YMD - Hora de inicio de JMeter como aaaaMMdd.

  • START.HMS - Hora de inicio de JMeter como HHmmss.

  • TESTSTART.MS: hora de inicio de la prueba en milisegundos.

Tenga en cuenta que las variables / propiedades de INICIO representan la hora de inicio de JMeter, no la hora de inicio de la prueba. Están pensados ​​principalmente para su uso en nombres de archivos, etc.