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.