20. Funciones y variables ¶
Las funciones de JMeter son valores especiales que pueden llenar campos de cualquier Sampler u otro elemento en un árbol de prueba. Una llamada de función se ve así:
${__nombreDeFunción(var1,var2,var3)}
Donde "__functionName" coincide con el nombre de una función.
Los paréntesis rodean los parámetros enviados a la función, por ejemplo ${__time(YMD)}
Los parámetros reales varían de una función a otra. Las funciones que no requieren parámetros pueden omitir los paréntesis, por ejemplo, ${__threadNum} .
Si un parámetro de función contiene una coma, asegúrese de escapar con " \ ", de lo contrario, JMeter lo tratará como un delimitador de parámetro. Por ejemplo:
${__hora(EEE\, d MMM aaaa)}Si no se escapa la coma, por ejemplo, ${__javaScript(Math.max(2,5))} , obtendrá un error como:
ERROR - jmeter.functions.JavaScript: Error al procesar Javascript: [Math.max(2] org.mozilla.javascript.EvaluatorException: falta) después de la lista de argumentos (<cmd>#1)Esto se debe a que la cadena " Math.max(2,5) " se trata como dos parámetros de la función __javascript:
Math.max(2 y 5)
Es posible que se produzcan otros mensajes de error.
Las variables se referencian de la siguiente manera:
${VARIABLE}
Si se hace referencia a una función o variable no definida, JMeter no informa ni registra un error; la referencia se devuelve sin cambios. Por ejemplo, si UNDEF no está definido como variable, entonces el valor de ${UNDEF} es ${UNDEF} . Las variables, funciones (y propiedades) distinguen entre mayúsculas y minúsculas. JMeter recorta los espacios de los nombres de las variables antes de usarlos, por lo que, por ejemplo, ${__Random(1,63, LOTTERY )} utilizará la variable ' LOTTERY ' en lugar de ' LOTTERY '.
Alternativamente, simplemente use / en su lugar para el separador de ruta, por ejemplo, C:/test/${test} : las JVM de Windows convertirán los separadores según sea necesario.
Lista de funciones, agrupadas libremente en tipos.
Tipo de función | Nombre | Comentario | Ya que |
---|---|---|---|
Información | threadNum | obtener el número de hilo | 1.X |
Información | threadGroupName | obtener el nombre del grupo de subprocesos | 4.1 |
Información | samplerName | obtener el nombre de la muestra (etiqueta) | 2.5 |
Información | máquinaIP | obtener la dirección IP de la máquina local | 2.6 |
Información | nombre de la máquina | obtener el nombre de la máquina local | 1.X |
Información | tiempo | devolver la hora actual en varios formatos | 2.2 |
Información | cambio de hora | devolver una fecha en varios formatos con la cantidad especificada de segundos/minutos/horas/días agregados | 3.3 |
Información | Iniciar sesión | registrar (o mostrar) un mensaje (y devolver el valor) | 2.2 |
Información | iniciar sesión | registrar (o mostrar) un mensaje (valor de retorno vacío) | 2.2 |
Aporte | CadenaDesdeArchivo | leer una línea de un archivo | 1.9 |
Aporte | Archivo a cadena | leer un archivo completo | 2.4 |
Aporte | CSVLeer | leer desde un archivo delimitado por CSV | 1.9 |
Aporte | XPath | Usar una expresión XPath para leer de un archivo | 2.0.3 |
Aporte | cadena a archivo | escribir una cadena en un archivo | 5.2 |
Cálculo | encimera | generar un número creciente | 1.X |
Formateo | dateTimeConvert | Convierta una fecha u hora del formato de origen al de destino | 4.0 |
Cálculo | digerir | Generar un resumen (SHA-1, SHA-256, MD5...) | 4.0 |
Cálculo | sumaint | agregar números enteros | 1.8.1 |
Cálculo | sumalarga | agregar números largos | 2.3.2 |
Cálculo | Aleatorio | generar un número aleatorio | 1.9 |
Cálculo | Fecha aleatoria | generar una fecha aleatoria dentro de un rango de fechas específico | 3.3 |
Cálculo | RandomFromMultipleVars | extrae un elemento de los valores de un conjunto de variables separados por | | 3.1 |
Cálculo | cadena aleatoria | generar una cadena aleatoria | 2.6 |
Cálculo | UUID | generar un UUID de tipo 4 aleatorio | 2.9 |
secuencias de comandos | maravilloso | ejecutar un script de Apache Groovy | 3.1 |
secuencias de comandos | beanshell | ejecutar un script BeanShell | 1.X |
secuencias de comandos | JavaScript | procesar JavaScript (Nashorn) | 1.9 |
secuencias de comandos | jexl2 | evaluar una expresión Commons Jexl2 | jexl2(2.1.1) |
secuencias de comandos | jexl3 | evaluar una expresión Commons Jexl3 | jexl3 (3.0) |
Propiedades | isPropDefined | Probar si existe una propiedad | 4.0 |
Propiedades | propiedad | leer una propiedad | 2.0 |
Propiedades | PAGS | leer una propiedad (método abreviado) | 2.0 |
Propiedades | establecer propiedad | establecer una propiedad JMeter | 2.1 |
Variables | separar | Dividir una cadena en variables | 2.0.2 |
Variables | evaluar | evaluar una expresión variable | 2.3.1 |
Variables | evalVar | evaluar una expresión almacenada en una variable | 2.3.1 |
Propiedades | está definido por Var | Probar si existe una variable | 4.0 |
Variables | V | evaluar un nombre de variable | 2.3RC3 |
Cuerda | carbonizarse | generar valores de caracteres Unicode a partir de una lista de números | 2.3.3 |
Cuerda | cambio de caso | Cambiar de caso siguiendo diferentes modos | 4.0 |
Cuerda | escapeHtml | Codificar cadenas usando codificación HTML | 2.3.3 |
Cuerda | escapeOroRegexpChars | cita meta caracteres utilizados por la expresión regular ORO | 2.9 |
Cuerda | escapeXml | Codificar cadenas usando la codificación XMl | 3.2 |
Cuerda | función de expresión regular | analizar la respuesta anterior usando una expresión regular | 1.X |
Cuerda | no escapar | Cadenas de proceso que contienen escapes de Java (por ejemplo, \n & \t) | 2.3.3 |
Cuerda | unescapeHtml | Decodificar cadenas codificadas en HTML | 2.3.3 |
Cuerda | urldecode | Decodificar una cadena application/x-www-form-urlencoded | 2.10 |
Cuerda | códigourlen | Codificar una cadena en una cadena application/x-www-form-urlencoded | 2.10 |
Cuerda | TestPlanName | Devuelve el nombre del plan de prueba actual | 2.6 |
20.1 Qué pueden hacer las funciones ¶
Hay dos tipos de funciones: valores estáticos definidos por el usuario (o variables) y funciones integradas.
Los valores estáticos definidos por el usuario le permiten definir las variables que se reemplazarán con su valor estático cuando se compila y envía un árbol de prueba para su ejecución. Este reemplazo ocurre una vez al comienzo de la ejecución de la prueba. Esto podría usarse para reemplazar el campo DOMINIO de todas las solicitudes HTTP, por ejemplo, haciendo que sea sencillo cambiar una prueba para apuntar a un servidor diferente con la misma prueba.
Tenga en cuenta que las variables actualmente no se pueden anidar; es decir , ${Var${N}} no funciona. La función __V (variable) se puede usar para hacer esto: ${__V(Var${N})} . También puede usar ${__BeanShell(vars.get("Var${N}")} .
Este tipo de reemplazo es posible sin funciones, pero era menos conveniente e intuitivo. Requería que los usuarios crearan elementos de configuración predeterminados que llenarían los valores en blanco de Samplers. Las variables permiten reemplazar solo una parte de cualquier valor dado, no solo completar valores en blanco.
Con las funciones integradas, los usuarios pueden calcular nuevos valores en tiempo de ejecución en función de los datos de respuesta anteriores, en qué subproceso se encuentra la función, la hora y muchas otras fuentes. Estos valores se generan nuevos para cada solicitud durante el transcurso de la prueba.
20.2 ¿Dónde se pueden usar funciones y variables? ¶
Las funciones y variables se pueden escribir en cualquier campo de cualquier componente de prueba (aparte del TestPlan, consulte a continuación). Algunos campos no permiten cadenas aleatorias porque esperan números y, por lo tanto, no aceptarán una función. Sin embargo, la mayoría de los campos permitirán funciones.
Las funciones que se utilizan en el plan de prueba tienen algunas restricciones. Las variables de subprocesos de JMeter no se habrán configurado completamente cuando se procesen las funciones, por lo que los nombres de variables pasados como parámetros no se configurarán y las referencias de variables no funcionarán, por lo que split() y regex() y las funciones de evaluación de variables no funcionarán. trabajo La función threadNum() no funcionará (y no tiene sentido a nivel de plan de prueba). Las siguientes funciones deberían funcionar bien en el plan de prueba:
- sumaint
- sumalarga
- nombre de la máquina
- beanshell
- maravilloso
- JavaScript
- jexl2/jexl3
- aleatorio
- tiempo
- funciones de propiedad
- funciones de registro
Los elementos de configuración son procesados por un subproceso separado. Por lo tanto, funciones como __threadNum no funcionan correctamente en elementos como Variables definidas por el usuario. Tenga en cuenta también que las variables definidas en un elemento UDV no están disponibles hasta que se haya procesado el elemento.
SELECCIONE el elemento de la tabla donde nombre = '$ {VAR}'no
SELECCIONE el elemento de la tabla donde nombre = $ {VAR}(a menos que el propio VAR contenga las comillas)
20.3 Cómo referenciar variables y funciones ¶
La referencia a una variable en un elemento de prueba se realiza colocando entre paréntesis 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 valores de usuario * . Algunas funciones toman argumentos para configurarlas, y estos van entre paréntesis, delimitados por comas. Si la función no acepta argumentos, se pueden omitir los paréntesis.
Los valores de argumento que en sí mismos contienen comas se deben escapar según sea necesario. Si necesita incluir una coma en el valor de su parámetro, escápelo así: ' \, '. Esto se aplica, por ejemplo, a las funciones de secuencias de comandos: Javascript, Beanshell, Jexl, groovy, donde es necesario escapar de las comas que pueden ser necesarias en las llamadas a métodos de secuencias de comandos, por ejemplo.
${__BeanShell(vars.put("nombre"\,"valor"))}
Alternativamente, puede definir su secuencia de comandos como una variable, por ejemplo, en el Plan de prueba:
SCRIPT vars.put("nombre","valor")A continuación, se puede hacer referencia al script de la siguiente manera:
${__BeanShell(${SCRIPT})}No es necesario escapar de las comas en la variable SCRIPT porque la llamada a la función se analiza antes de que la variable se reemplace con su valor. Esto funciona bien junto con JSR223 o BeanShell Samplers, ya que se pueden usar para probar scripts Javascript, Jexl y BeanShell.
Las funciones pueden hacer referencia a variables y otras funciones, por ejemplo ${__XPath(${__P(xpath.file),${XPATH})} utilizará la propiedad " xpath.file " como nombre de archivo y el contenido de la variable XPATH como la expresión a buscar.
JMeter proporciona una herramienta para ayudarlo a construir llamadas a funciones para varias funciones integradas, que luego puede copiar y pegar. No escapará automáticamente los valores para usted, ya que las funciones pueden ser parámetros para otras funciones, y solo debe escapar los valores que pretende que sean literales.
El valor de una variable o función se puede informar mediante la función __logn() . La referencia de la función __logn() se puede usar en cualquier parte del plan de prueba después de que se haya definido la variable. Alternativamente, la muestra de solicitud de Java se puede usar para crear una muestra que contenga referencias variables; la salida se mostrará en el Listener apropiado. Tenga en cuenta que hay una Muestra de depuración que se puede usar para mostrar los valores de las variables, etc. en el Oyente de vista de árbol.
20.4 El cuadro de diálogo Ayudante de funciones ¶
El cuadro de diálogo Ayudante de funciones está disponible en el menú Herramientas de JMeter.
Usando el asistente de funciones, puede seleccionar una función del menú desplegable y asignar valores para sus argumentos. La columna de la izquierda en la tabla proporciona una breve descripción del argumento, y la columna de la derecha es donde escribe el valor de ese argumento. Diferentes funciones toman diferentes argumentos.
Una vez que haya hecho esto, haga clic en el botón "generar" y se generará la cadena apropiada para que pueda copiar y pegar en su plan de prueba donde quiera.
20.5 Funciones ¶
Función __regex ¶
La función Regex se usa para analizar la respuesta anterior (o el valor de una variable) usando cualquier expresión regular (proporcionada por el usuario). La función devuelve la cadena de la plantilla con los valores de las variables rellenados.
La __regexFunction también puede almacenar valores para uso futuro. En el sexto parámetro, puede especificar un nombre de referencia. Después de ejecutar esta función, los mismos valores se pueden recuperar en momentos posteriores utilizando la sintaxis para valores definidos por el usuario. Por ejemplo, si ingresa " refName " como sexto parámetro, podrá usar:
- ${refName} para hacer referencia al resultado calculado del segundo parámetro ("Plantilla para la cadena de reemplazo") analizado por esta función
- ${refName_g0} para hacer referencia a la coincidencia completa analizada por esta función.
- ${refName_g1} para hacer referencia al primer grupo analizado por esta función.
- ${refName_g#} para hacer referencia al enésimo grupo analizado por esta función.
- ${refName_matchNr} para referirse al número de grupos encontrados por esta función.
Parámetros ¶
- Un entero: le dice a JMeter que use esa coincidencia. ' 1 ' para la primera coincidencia encontrada, ' 2 ' para la segunda, y así sucesivamente
- RAND : le dice a JMeter que elija una coincidencia al azar.
- TODO : le dice a JMeter que use todas las coincidencias y cree una cadena de plantilla para cada una y luego las agregue todas juntas. Esta opción es poco utilizada.
- Un número flotante entre 0 y 1: le dice a JMeter que encuentre la X -ésima coincidencia usando la fórmula: (número_de_coincidencias_encontradas * número_flotante) redondeado al entero más cercano.
Los valores almacenados son ${refName} (la cadena de plantilla de reemplazo) y ${refName_g#} donde " # " es el número de grupo de la expresión regular (" 0 " puede usarse para referirse a la coincidencia completa).
__contador ¶
El contador genera un nuevo número cada vez que se llama, comenzando con 1 e incrementando en +1 cada vez. El contador se puede configurar para mantener separados los valores de cada usuario simulado o para usar el mismo contador para todos los usuarios. Si los valores de cada usuario se incrementan por separado, es como contar el número de iteraciones a través del plan de prueba. Un contador global es como contar cuántas veces se ejecutó esa solicitud.
El contador usa una variable entera para mantener el conteo, que por lo tanto tiene un máximo de 2,147,483,647.
Las instancias de la función de contador son completamente independientes. El contador global - " FALSO " - es mantenido por separado por cada instancia de contador.
Múltiples llamadas a la función __counter en la misma iteración no incrementarán más el valor.
Si desea tener un conteo que aumente para cada muestra, use la función en un preprocesador como Parámetros de usuario .
Parámetros ¶
Los valores almacenados tienen la forma ${refName} . Esto le permite mantener un contador y consultar su valor en varios lugares.
__número de hilo ¶
La función de número de subproceso simplemente devuelve el número del subproceso que se está ejecutando actualmente. Estos números son únicos localmente con respecto a su grupo de subprocesos, lo que significa que el subproceso n.º 1 en un grupo de subprocesos no se puede distinguir del subproceso n.º 1 en otro grupo de subprocesos, desde el punto de vista de esta función.
ctx.getThreadNum()
No hay argumentos para esta función.
Ejemplo de uso:
${__número de subprocesos}devuelve un número entre 1 y el número máximo de subprocesos en ejecución configurados en el grupo de subprocesos que lo contiene
__threadGroupName ¶
La función de nombre de grupo de subprocesos simplemente devuelve el nombre del grupo de subprocesos que se está ejecutando.
No hay argumentos para esta función.
Ejemplo de uso:
${__nombre de grupo de subprocesos}
__intSuma ¶
La función intSum se puede utilizar para calcular la suma de dos o más valores enteros.
Parámetros ¶
Ejemplos:
${__intSuma(2,5,MIVAR)}devolverá 7 (2+5) y almacenará el resultado en la variable MYVAR. Entonces ${MYVAR} será igual a 7.
${__intSuma(2,5,7)}devolverá 14 (2+5+7) y almacenará el resultado en la variable MYVAR.
${__intSuma(1,2,5,${MYVAR})}devolverá 16 si el valor de MYVAR es igual a 8, 1+2+5+${MYVAR})
__sumalarga ¶
La función longSum se puede usar para calcular la suma de dos o más valores largos, use esto en lugar de __intSum siempre que sepa que sus valores no estarán en el intervalo -2147483648 a 2147483647.
Parámetros ¶
Ejemplos:
${__longSuma(2,5,MIVAR)}devolverá 7 (2+5) y almacenará el resultado en la variable MYVAR. Entonces ${MYVAR} será igual a 7.
${__sumalarga(2,5,7)}devolverá 14 (2+5+7) y almacenará el resultado en la variable MYVAR.
${__longSuma(1,2,5,${MYVAR})}devolverá 16 si el valor de MYVAR es igual a 8, 1+2+5+${MYVAR})
__StringFromFile ¶
La función StringFromFile se puede utilizar para leer cadenas de un archivo de texto. Esto es útil para ejecutar pruebas que requieren muchos datos variables. Por ejemplo, al probar una aplicación bancaria, es posible que se requieran 100 o 1000 de diferentes números de cuenta.
Consulte también el elemento de prueba CSV Data Set Config que puede ser más fácil de usar. Sin embargo, eso actualmente no admite múltiples archivos de entrada.
Cada vez que se llama, lee la siguiente línea del archivo. Todos los subprocesos comparten la misma instancia, por lo que subprocesos diferentes obtendrán líneas diferentes. Cuando se llega al final del archivo, comenzará a leerse nuevamente desde el principio, a menos que se haya alcanzado el número máximo de bucles. Si hay varias referencias a la función en un script de prueba, cada una abrirá el archivo de forma independiente, incluso si los nombres de archivo son los mismos. [Si el valor se va a usar nuevamente en otro lugar, use diferentes nombres de variables para cada llamada de función].
Si se produce un error al abrir o leer el archivo, la función devuelve la cadena " **ERR** "
Parámetros ¶
El parámetro de nombre de archivo se resuelve cuando el archivo se abre o se vuelve a abrir.
El parámetro de nombre de referencia (si se proporciona) se resuelve cada vez que se ejecuta la función.
Usando números de secuencia:
Cuando se usan los números de secuencia opcionales, el nombre de la ruta se usa como cadena de formato para java.text.DecimalFormat . El número de secuencia actual se pasa como el único parámetro. Si no se especifica el número de inicio opcional, el nombre de ruta se usa tal cual. Las secuencias de formato útiles son:
- #
- inserte el número, sin ceros ni espacios a la izquierda
- 000
- inserte el número empaquetado en tres dígitos con ceros a la izquierda si es necesario
- pin#'.'dat
- Generará los dígitos sin ceros a la izquierda y tratará el punto literalmente como
pin1.dat , …, pin9.dat , pin10.dat , …, pin9999.dat - pin000'.'dat
- Generará ceros a la izquierda manteniendo el punto. Cuando los números comiencen a tener más dígitos que los tres dígitos que sugiere este formato, la secuencia usará más dígitos como se puede ver en
pin001.dat , … pin099.dat , …, pin999.dat , …, pin9999.dat - pin'.'dat#
- Agregará dígitos sin ceros a la izquierda mientras mantiene el punto y genera
pin.dat1 , …, pin.dat9 , …, pin.dat999
Si se requieren más dígitos que caracteres de formato, el número se ampliará según sea necesario.
Para evitar que se interprete un carácter de formato, escríbalo entre comillas simples. Tenga en cuenta que " . " es un carácter de formato y debe estar encerrado entre comillas simples
(aunque #. y 000. funcionan como se espera en entornos locales donde el punto decimal también es " . ")
En otros entornos (p. ej ., fr ), el punto decimal es " , " - lo que significa que " #. " se convierte en " nnn, ".
Consulte la documentación de DecimalFormat para obtener detalles completos.
Si el nombre de la ruta no contiene ningún carácter de formato especial, el número de secuencia actual se agregará al nombre; de lo contrario, el número se insertará de acuerdo con las instrucciones de formato.
Si se omite el número de secuencia inicial y se especifica el número de secuencia final, el número de secuencia se interpreta como un recuento de bucles y el archivo se utilizará en la mayoría de los tiempos de " finalización ". En este caso, el nombre del archivo no está formateado.
${__StringFromFile(PIN#'.'DAT,,1,2)} - lee PIN1.DAT , PIN2.DAT
${__StringFromFile(PIN.DAT,,,2)} - lee PIN.DAT dos veces
Tenga en cuenta que " . " en PIN.DAT arriba deberíano ser citado. En este caso, se omite el número de inicio, por lo que el nombre del archivo se usa exactamente como está.
__nombreDeMáquina ¶
La función machineName devuelve el nombre de host local. Esto usa el método Java InetAddress.getLocalHost() y lo pasa a getHostName()
Parámetros ¶
Ejemplos:
${__nombreDeLaEquipo()}devolverá el nombre de host de la máquina
${__nombreDeEquipo}devolverá el nombre de host de la máquina
__máquinaIP ¶
La función machineIP devuelve la dirección IP local. Esto usa el método Java InetAddress.getLocalHost() y lo pasa a getHostAddress()
Parámetros ¶
Ejemplos:
${__máquinaIP()}devolverá la dirección IP de la máquina
${__máquinaIP}devolverá la dirección IP de la máquina
__javascript¶ _
La función javaScript ejecuta una pieza de código JavaScript (¡no Java!) y devuelve su valor
La función JMeter Javascript llama a un intérprete de JavaScript independiente. Javascript se utiliza como lenguaje de secuencias de comandos, por lo que puede hacer cálculos, etc.
Para el motor Rhino, consulte la descripción general de Mozilla Rhino
Las siguientes variables están disponibles para el script:
- log - el Registrador para la función
- ctx - objeto JMeterContext
- vars - objeto JMeterVariables
- threadName - Cadena que contiene el nombre del hilo actual
- sampler - objeto Sampler actual (si lo hay)
- sampleResult : objeto SampleResult anterior (si lo hay)
- props - objeto JMeterProperties (clase java.util.Properties )
Rhinoscript permite el acceso a métodos estáticos a través de su objeto Packages. Consulte la documentación de Scripting Java . Por ejemplo, se puede acceder a los métodos estáticos de JMeterContextService así: Java.type("org.apache.jmeter.threads.JMeterContextService").getTotalThreads()
Parámetros ¶
- new Date() - devuelve la fecha y hora actual
- Math.floor(Math.random()*(${maxRandom}+1)) - un número aleatorio entre 0 y la variable maxRandom
- ${minRandom}+Math.floor(Math.random()*(${maxRandom}-${minRandom}+1)) - un número aleatorio entre las variables minRandom y maxRandom
- "${VAR}"=="abcd"
${__javaScript('${sp}'.slice(7\,99999))}la coma después de 7 se escapa.
Ejemplos:
${__javaScript(nueva fecha())}regresará el sábado 09 de enero de 2016 16:22:15 GMT+0100 (CET)
${__javaScript(nueva fecha(),MIFECHA)}devolverá el sábado 09 de enero de 2016 a las 16:22:15 GMT+0100 (CET) y lo almacenará en la variable MYDATE
${__javaScript(Math.floor(Math.random()*(${maxRandom}+1)),MYRESULT)}utilizará la variable maxRandom, devolverá un valor aleatorio entre 0 y maxRandom y lo almacenará en MYRESULT
${__javaScript(${minRandom}+Math.floor(Math.random()*(${maxRandom}-${minRandom}+1)),MYRESULT)}utilizará las variables maxRandom y minRandom , devolverá un valor aleatorio entre maxRandom y minRandom y lo almacenará en la variable MYRESULT
${__javaScript("${VAR}"=="abcd",MIRESULTADO)}comparará el valor de la variable VAR con abcd , devolverá verdadero o falso y almacenará el resultado en MYRESULT
__Aleatorio ¶
La función aleatoria devuelve un número aleatorio que se encuentra entre los valores mínimo y máximo dados.
Parámetros ¶
Ejemplos:
${__Aleatorio(0,10)}devolverá un número aleatorio entre 0 y 10
${__Aleatorio(0,10, MIVAR)}devolverá un número aleatorio entre 0 y 10 y lo almacenará en MYVAR . ${MYVAR} contendrá el número aleatorio
__Fecha aleatoria ¶
La función RandomDate devuelve una fecha aleatoria que se encuentra entre los valores de fecha de inicio y fecha de finalización dados.
Parámetros ¶
Ejemplos:
${__Fecha aleatoria(,,2050-07-08,,)}devolverá una fecha aleatoria entre ahora y 2050-07-08 . Por ejemplo 2039-06-21
${__RandomDate(dd MM aaaa,,08 07 2050,,)}devolverá una fecha aleatoria con un formato personalizado como 03 04 2034
__Cadena aleatoria ¶
La función RandomString devuelve una cadena aleatoria de longitud usando caracteres en chars para usar.
Parámetros ¶
Ejemplos:
${__Cadena aleatoria(5)}devolverá una cadena aleatoria de 5 caracteres que pueden ser legibles o no
${__Cadena aleatoria(10,abcdefg)}devolverá una cadena aleatoria de 10 caracteres seleccionados del conjunto abcdefg , como cdbgdbeebd o adbfeggfad , …
${__RandomString(6,a12zeczclk, MIVAR)}devolverá una cadena aleatoria de 6 caracteres seleccionados de un conjunto de 12zeczclk y almacenará el resultado en MYVAR , MYVAR contendrá una cadena como 2z22ak o z11kce , …
__RandomFromMultipleVars ¶
La función RandomFromMultipleVars devuelve un valor aleatorio basado en los valores de variable proporcionados por Source Variables .
Las variables pueden ser simples o multivaluadas ya que pueden ser generadas por los siguientes extractores:- Extractor de límites
- Extractor de expresiones regulares
- Extractor de selección de CSS
- Extractor JSON
- Extractor de XPath
- Extractor XPath2
Parámetros ¶
Ejemplos:
${__RandomFromMultipleVars(val)}devolverá una cadena aleatoria basada en el contenido de la variable val teniendo en cuenta si son de varios valores o no
${__RandomFromMultipleVars(val1|val2)}devolverá una cadena aleatoria basada en el contenido de las variables val1 y val2 teniendo en cuenta si son multivalor o no
${__RandomFromMultipleVars(val1|val2, MYVAR)}devolverá una cadena aleatoria basada en el contenido de las variables val1 y val2 teniendo en cuenta si son multivalor o no y almacenará el resultado en MYVAR
__UUID¶ _
La función UUID devuelve un identificador único universal (UUID) pseudoaleatorio de tipo 4.
Parámetros ¶
Ejemplos:
${__UUID()}devolverá UUID con este formato: c69e0dd1-ac6b-4f2b-8d59-5d4e8743eecd
__CSVRead ¶
La función CSVRead devuelve una cadena de un archivo CSV (cf StringFromFile )
NOTA: JMeter admite varios nombres de archivo.
En la mayoría de los casos, el elemento CSV Data Set Config más nuevo es más fácil de usar.
Cuando se encuentra por primera vez un nombre de archivo, el archivo se abre y se lee en una matriz interna. Si se detecta una línea en blanco, se trata como el final del archivo, lo que permite utilizar comentarios finales.
Todas las referencias posteriores al mismo nombre de archivo utilizan la misma matriz interna. NB: el caso del nombre de archivo es significativo para la función, incluso si al sistema operativo no le importa, por lo que CSVRead (abc.txt, 0) y CSVRead (aBc. txt, 0) se referirían a diferentes matrices internas.
La función *ALIAS permite abrir el mismo archivo más de una vez y también permite nombres de archivo más cortos.
Cada subproceso tiene su propio puntero interno a su fila actual en la matriz de archivos. Cuando un subproceso se refiere por primera vez al archivo, se le asignará la siguiente fila libre en la matriz, por lo que cada subproceso accederá a una fila diferente de todos los demás subprocesos. [A menos que haya más subprocesos que filas en la matriz].
Parámetros ¶
Por ejemplo, podría configurar algunas variables de la siguiente manera:
- COL1a ${__CSVRead(aleatorio.txt,0)}
- COL2a ${__CSVRead(aleatorio.txt,1)}${__CSVRead(aleatorio.txt,siguiente)}
- COL1b ${__CSVRead(aleatorio.txt,0)}
- COL2b ${__CSVRead(aleatorio.txt,1)}${__CSVRead(aleatorio.txt,siguiente)}
__propiedad ¶
La función de propiedad devuelve el valor de una propiedad de JMeter. Si no se puede encontrar el valor de la propiedad y no se ha proporcionado ningún valor predeterminado, devuelve el nombre de la propiedad. Al proporcionar un valor predeterminado, no es necesario proporcionar un nombre de función: el parámetro se puede establecer en nulo y se ignorará.
Por ejemplo:
- ${__property(user.dir)} - valor de retorno de user.dir
- ${__property(user.dir,UDIR)} - devuelve el valor de user.dir y guarda en UDIR
- ${__property(abcd,ABCD,atod)} - devuelve el valor de la propiedad abcd (o " atod " si no está definido) y guarda en ABCD
- ${__property(abcd,,atod)} - devuelve el valor de la propiedad abcd (o " atod " si no está definido) pero no lo guarda
Parámetros ¶
__P ¶
Esta es una función de propiedad simplificada que está diseñada para usarse con propiedades definidas en la línea de comando. A diferencia de la función __property , no hay opción para guardar el valor en una variable, y si no se proporciona un valor predeterminado, se supone que es 1. Se eligió el valor 1 porque es válido para variables de prueba comunes como bucles, conteo de hilos, rampa, etc.
Por ejemplo:Defina el valor de la propiedad:
jmeter -Jgroup1.threads=7 -Jhostname1=www.realhost.eduObtener los valores:
${__P(group1.threads)} - devolver el valor de group1.threads
${__P(group1.loops)} - devolver el valor de group1.loops
${__P(hostname,www.dummy.org) } - devuelve el valor de la propiedad hostname o www.dummy.org si no está definido
En los ejemplos anteriores, la primera llamada de función devolvería 7 , la segunda devolvería 1 y la última devolvería www.dummy.org (a menos que esas propiedades estuvieran definidas ¡en otra parte!)
Parámetros ¶
__log ¶
La función de registro registra un mensaje y devuelve su cadena de entrada
Parámetros ¶
Los nombres de nivel de registro OUT y ERR se utilizan para dirigir la salida a System.out y System.err respectivamente. En este caso, la salida siempre se imprime, no depende de la configuración de registro actual.
- ${__log(Mensaje)}
- escrito en el archivo de registro como " ... subproceso Nombre: Mensaje "
- ${__log(Mensaje,SALIDA)}
- escrito en la ventana de la consola
- ${__registro(${VAR},,,VAR=)}
- escrito en el archivo de registro como " ... subproceso Nombre VAR=valor "
__iniciar sesión ¶
La función logn registra un mensaje y devuelve la cadena vacía
Parámetros ¶
Los nombres de nivel de registro OUT y ERR se utilizan para dirigir la salida a System.out y System.err respectivamente. En este caso, la salida siempre se imprime, no depende de la configuración de registro actual.
- ${__logn(VAR1=${VAR1},SALIDA)}
- escribe el valor de la variable en la ventana de la consola
__BeanShell ¶
La función BeanShell evalúa el script que se le pasa y devuelve el resultado.
Para obtener detalles completos sobre el uso de BeanShell, consulte el sitio web de BeanShell en http://www.beanshell.org/
Se puede llamar a una única instancia de una función desde varios subprocesos. Sin embargo, el método de función execute() está sincronizado.
Si se define la propiedad " beanshell.function.init ", se pasa al intérprete como el nombre de un archivo fuente. Esto se puede utilizar para definir métodos y variables comunes. Hay un archivo de inicio de muestra en el directorio bin: BeanShellFunction.bshrc .
Las siguientes variables se establecen antes de que se ejecute el script:
- log - el Registrador para la función BeanShell (*)
- ctx - objeto JMeterContext
- vars - objeto JMeterVariables
- props - objeto JMeterProperties (clase java.util.Properties )
- threadName - el threadName (Cadena)
- Sampler - el Sampler actual , si lo hay
- SampleResult - el SampleResult actual , si lo hay
Parámetros ¶
Ejemplo:
- ${__BeanShell(123*456)}
- devuelve 56088
- ${__BeanShell(fuente("función.bsh"))}
- procesa el script en function.bsh
__maravilloso ¶
La función __groovy evalúa los scripts de Apache Groovy que se le pasan y devuelve el resultado.
Si se define la propiedad " groovy.utilities ", el ScriptEngine la cargará. Esto se puede utilizar para definir métodos y variables comunes. Hay un archivo de inicio de muestra en el directorio bin : utility.groovy .
Las siguientes variables se establecen antes de que se ejecute el script:
- log - el registrador para la función groovy (*)
- ctx - objeto JMeterContext
- vars - objeto JMeterVariables
- props - objeto JMeterProperties (clase java.util.Properties )
- threadName - el threadName (Cadena)
- sampler - el Sampler actual , si lo hay
- prev - el SampleResult anterior , si lo hay
- SALIDA - Sistema.fuera
(*) significa que esto se establece antes de que se procese el archivo de inicio, si lo hay. Otras variables varían de una invocación a otra.
Por ejemplo , no haga lo siguiente:
${__groovy("${myVar}".subcadena(0\,2))}
Imagine que la variable myVar cambia con cada transacción, el Groovy anterior no se puede almacenar en caché ya que el script cambia cada vez.
En su lugar, haga lo siguiente, que se puede almacenar en caché:
${__groovy(vars.get("myVar").substring(0\,2))}
Parámetros ¶
Ejemplo:
-
${__maravilloso(123*456)}
- devuelve 56088
-
${__groovy(vars.get("myVar").substring(0\,2))}
- Si el valor de var es JMeter , devolverá JM mientras ejecuta String.substring(0,2) . Tenga en cuenta que , se ha escapado a \,
__dividir ¶
La función split divide la cadena que se le pasa de acuerdo con el delimitador y devuelve la cadena original. Si hay delimitadores adyacentes, se devuelve " ? " como valor. Las cadenas divididas se devuelven en las variables ${VAR_1} , ${VAR_2} etc. El recuento de variables se devuelve en ${VAR_n} . Un delimitador final se trata como una variable faltante y se devuelve " ? ". Además, para permitir que funcione mejor con el controlador ForEach, __split ahora elimina la primera variable no utilizada en caso de que haya sido establecida por una división anterior.
Ejemplo:Defina VAR =" a||c| " en el plan de prueba.
${__dividir(${VAR},VAR,|)}
Esto devolverá el contenido de VAR , es decir, " a||c| " y establecerá las siguientes variables:
VAR_n = 4
VAR_1 = a
VAR_2 = ?
VAR_3 = c
VAR_4 = ?
VAR_5 = nulo
Parámetros ¶
__XPath ¶
La función XPath lee un archivo XML y coincide con el XPath. Cada vez que se llama a la función, se devolverá la siguiente coincidencia. Al final del archivo, volverá al principio. Si ningún nodo coincide, la función devolverá la cadena vacía y se escribirá un mensaje de advertencia en el archivo de registro de JMeter.
${__XPath(/ruta/hacia/construir.xml, //objetivo/@nombre)}Esto coincidirá con todos los objetivos en build.xml y devolverá el contenido del siguiente atributo de nombre
Parámetros ¶
__establecerPropiedad ¶
La función setProperty establece el valor de una propiedad de JMeter. El valor de retorno predeterminado de la función es la cadena vacía, por lo que la llamada a la función se puede usar en cualquier lugar donde las funciones sean válidas.
El valor original se puede devolver configurando el tercer parámetro opcional en " verdadero ".
Las propiedades son globales para JMeter, por lo que se pueden usar para comunicarse entre subprocesos y grupos de subprocesos.
Parámetros ¶
__tiempo ¶
La función de hora devuelve la hora actual en varios formatos.
Parámetros ¶
Si se omite la cadena de formato, la función devuelve la hora actual en milisegundos desde la época. Si el formato coincide con " /ddd " (donde ddd son dígitos decimales), la función devuelve la hora actual en milisegundos dividida por el valor de ddd . Por ejemplo, " /1000 " devuelve el tiempo actual en segundos desde la época. De lo contrario, la hora actual se pasa a SimpleDateFormat. Se proporcionan los siguientes alias abreviados:
- YMD = aaaaMMdd
- HMS = HHmmss
- YMDHMS = aaaaMMdd-HHmmss
- USUARIO1 = lo que sea que esté en la propiedad JMeter time.USER1
- USUARIO2 = lo que sea que esté en la propiedad de JMeter time.USER2
Los valores predeterminados se pueden cambiar configurando la propiedad JMeter adecuada, por ejemplo, time.YMD=yyMMdd
${__hora(dd/MM/aaaa,)}regresará el 21/01/2018 si se ejecutó el 21 de enero de 2018
${__hora(AMD,)}devolverá 20180121 si se ejecutó el 21 de enero de 2018
${__tiempo()}devolverá el tiempo en milisegundos 1516540541624
__jexl2 ¶
La función jexl devuelve el resultado de evaluar una expresión Commons JEXL . Consulte los enlaces a continuación para obtener más información sobre las expresiones JEXL.
La función __jexl2 usa Commons JEXL 2
Parámetros ¶
Las siguientes variables están disponibles para el script:
- log - el Registrador para la función
- ctx - objeto JMeterContext
- vars - objeto JMeterVariables
- props - objeto JMeterProperties (clase java.util.Properties )
- threadName - Cadena que contiene el nombre del hilo actual
- sampler - objeto Sampler actual (si lo hay)
- sampleResult : objeto SampleResult anterior (si lo hay)
- OUT - System.out - por ejemplo, OUT.println("mensaje")
Jexl también puede crear clases y llamar a métodos en ellas, por ejemplo:
Systemclass=log.class.forName("java.lang.System"); now=Systemclass.currentTimeMillis();Tenga en cuenta que la documentación de Jexl en el sitio web sugiere erróneamente que " div " realiza la división de enteros. De hecho, " div " y " / " realizan una división normal. Se puede obtener el mismo efecto de la siguiente manera:
i= 5 / 2; i.intValor(); // o usa i.longValue()
__jexl3 ¶
La función jexl devuelve el resultado de evaluar una expresión Commons JEXL . Consulte los enlaces a continuación para obtener más información sobre las expresiones JEXL.
La función __jexl3 usa Commons JEXL 3
Parámetros ¶
Las siguientes variables están disponibles para el script:
- log - el Registrador para la función
- ctx - objeto JMeterContext
- vars - objeto JMeterVariables
- props - objeto JMeterProperties (clase java.util.Properties )
- threadName - Cadena que contiene el nombre del hilo actual
- sampler - objeto Sampler actual (si lo hay)
- sampleResult : objeto SampleResult anterior (si lo hay)
- OUT - System.out - por ejemplo, OUT.println("mensaje")
Jexl también puede crear clases y llamar a métodos en ellas, por ejemplo:
Systemclass=log.class.forName("java.lang.System"); now=Systemclass.currentTimeMillis();Tenga en cuenta que la documentación de Jexl en el sitio web sugiere erróneamente que " div " realiza la división de enteros. De hecho, " div " y " / " realizan una división normal. Se puede obtener el mismo efecto de la siguiente manera:
i= 5 / 2; i.intValor(); // o usa i.longValue()
__V ¶
La función V (variable) devuelve el resultado de evaluar una expresión de nombre de variable. Esto se puede usar para evaluar referencias de variables anidadas (que actualmente no se admiten).
Por ejemplo, si uno tiene las variables A1 , A2 y N = 1 :
- ${A1} - funciona bien
- ${A${N}} - no funciona (referencia de variable anidada)
- ${__V(A${N})} - funciona bien. A${N} se convierte en A1 y la función __V devuelve el valor de A1
Parámetros ¶
__evalVar ¶
La función evalVar devuelve el resultado de evaluar una expresión almacenada en una variable.
Esto permite leer una cadena de un archivo y procesar cualquier referencia de variable en él. Por ejemplo, si la variable " consulta " contiene " seleccione ${columna} de ${tabla} " y " columna " y " tabla " contienen " nombre " y " clientes ", entonces ${__evalVar(consulta)} se evaluará como " seleccione el nombre de los clientes ".
__evaluar ¶
La función eval devuelve el resultado de evaluar una expresión de cadena.
Esto permite interpolar referencias de variables y funciones en una cadena que se almacena en una variable. Por ejemplo, dadas las siguientes variables:
- nombre = Smith
- columna = edad
- mesa = cumpleaños
- SQL = seleccione ${columna} de ${tabla} donde nombre='${nombre}'
Esto se puede usar junto con CSV Dataset, por ejemplo, donde tanto las declaraciones SQL como los valores se definen en el archivo de datos.
__char ¶
La función char devuelve el resultado de evaluar una lista de números como caracteres Unicode. Consulte también __unescape() , a continuación.
Esto permite agregar valores de caracteres arbitrarios en los campos.
Parámetros ¶
Ejemplos:
${__char(13,10)} = ${__char(0xD,0xA)} = ${__char(015,012)} = CRLF
${__char(165)} = ¥ (yen)
__unescape ¶
La función unescape devuelve el resultado de evaluar una cadena escapada de Java. Ver también __char() arriba.
Esto permite agregar caracteres a campos que de otro modo serían complicados (o imposibles) de definir a través de la GUI.
Parámetros ¶
Ejemplos:
${__unescape(\r\n)} = CRLF
${__unescape(1\t2)} = 1 [tabulador] 2
__unescapeHtml ¶
Función para quitar el escape de una cadena que contiene escapes de entidades HTML a una cadena que contiene los caracteres Unicode reales correspondientes a los escapes. Admite entidades HTML 4.0.
Por ejemplo, la cadena
${__unescapeHtml(<Français>)}devolverá <Français> .
Si no se reconoce una entidad, se deja sola y se inserta textualmente en la cadena de resultados. por ejemplo , ${__unescapeHtml(>&zzzz;x)} devolverá >&zzzz;x .
Utiliza StringEscapeUtils#unescapeHtml(String) de Commons Lang.
Parámetros ¶
__escapeHtml¶ _
Función que escapa los caracteres en una cadena usando entidades HTML. Admite entidades HTML 4.0.
Por ejemplo,
${__escapeHtml("pan" y "mantequilla")}retorno: "pan" &erio; "mantequilla" .
Utiliza StringEscapeUtils#escapeHtml(String) de Commons Lang.
__urldecode ¶
Función para decodificar una cadena application/x-www-form-urlencoded . Nota: utilice UTF-8 como esquema de codificación.
Por ejemplo, la cadena
${__urldecode(Palabra+%22escuela%22+es+%22%C3%A9cole%22+en+francés)}regresa La palabra "escuela" es "école" en francés .
Utiliza la clase Java URLDecoder .
Parámetros ¶
__urlencode ¶
Función para codificar una cadena en una cadena application/x-www-form-urlencoded .
Por ejemplo, la cadena
${__urlencode(La palabra "escuela" es "école" en francés)}devuelve Word+%22school%22+is+%22%C3%A9cole%22+en+francés .
Utiliza URLEncoder de clase Java .
Parámetros ¶
__FileToString ¶
La función FileToString se puede utilizar para leer un archivo completo. Cada vez que se llama, lee todo el archivo.
Si se produce un error al abrir o leer el archivo, la función devuelve la cadena " **ERR** "
Parámetros ¶
Los parámetros de nombre de archivo, codificación y nombre de referencia se resuelven cada vez que se ejecuta la función.
__nombre de muestra ¶
La función samplerName devuelve el nombre (es decir, la etiqueta) de la muestra actual.
La función no funciona en elementos Test que no tengan un sampler asociado. Por ejemplo el Plan de Pruebas. Los elementos de configuración tampoco tienen una muestra asociada. Sin embargo, los muestreadores hacen referencia directamente a algunos elementos de configuración, como el administrador de encabezado HTTP y el administrador de cookies Http, y en este caso las funciones se resuelven en el contexto del muestreador Http. Los Pre-Procesadores, Post-Procesadores y Aserciones siempre tienen un Sampler asociado.
Ejemplo:
${__nombre de muestra()}
Parámetros ¶
__NombrePlanDePrueba ¶
La función TestPlanName devuelve el nombre del plan de prueba actual (se puede usar en Incluir planes para conocer el nombre del plan de prueba que realiza la llamada).
Ejemplo:
${__Nombre del plan de prueba}devolverá el nombre de archivo de su plan de prueba, por ejemplo, si el plan está en un archivo llamado Demo.jmx, devolverá " Demo.jmx
__escapeOroRegexpChars ¶
Función que escapa de los metacaracteres ORO Regexp, es el equivalente de \Q \E en Java Regexp Engine.
Por ejemplo,
${__escapeOroRegexpChars([^"].+?,)}devuelve: \[\^\"\]\.\+\? .
Utiliza Perl5Compiler#quotemeta(String) de ORO.
Parámetros ¶
__escapeXml¶ _
Función que escapa los caracteres en una cadena usando entidades XML 1.0.
Por ejemplo,
${__escapeXml("pan" y 'mantequilla')}devuelve: "pan" &erio; 'mantequilla' .
Utiliza StringEscapeUtils#escapeXml10(String) de Commons Lang.
__cambio de tiempo ¶
La función timeShift devuelve una fecha en el formato dado con la cantidad especificada de segundos, minutos, horas, días o meses agregados
Parámetros ¶
- PT20.345S analiza como 20.345 segundos
- PT15M analiza como 15 minutos
- PT10H analiza como 10 horas
- P2D analiza como 2 días
- -P6H3M analiza como -6 horas y -3 minutos
Ejemplos:
${__timeShift(dd/MM/aaaa,21/01/2018,P2D,,)}vuelve 23/01/2018
${__timeShift(dd MMMM aaaa,21 de febrero de 2018,P2D,fr_FR,)}regresa el 23 de febrero de 2018
__resumen ¶
La función de resumen devuelve un valor encriptado en el algoritmo hash específico con sal opcional, mayúsculas y nombre de variable.
Parámetros ¶
- MD2
- MD5
- SHA-1
- SHA-224
- SHA-256
- SHA-384
- SHA-512
Ejemplos:
${__digest(MD5,Errare humanum est,,,)}devuelve c49f00b92667a35c63708933384dad52
${__digest(SHA-256,Felix qui potuit rerum cognoscere causas,mysalt,,)}devuelve a3bc6900fe2b2fc5fa8a601a4a84e27a079bf2c581d485009bc5c00516729ac7
__dateTimeConvert ¶
La función __dateTimeConvert convierte una fecha que está en formato de origen a un formato de destino y almacena el resultado opcionalmente en el nombre de la variable.
Parámetros ¶
Ejemplo:
${__dateTimeConvert(01212018,MMddaaaa,dd/MM/aaaa,)}vuelve 21/01/2018
Con valor de tiempo de época: 1526574881000,
${__dateTimeConvert(1526574881000,,dd/MM/aaaa HH:mm,)}devuelve el 17/05/2018 16:34 en hora UTC (-Duser.timezone=GMT)
__isPropDefined¶ _
La función __isPropDefined devuelve verdadero si la propiedad existe o falso en caso contrario.
Parámetros ¶
Ejemplo:
${__isPropDefined(INICIO.HMS)}volverá verdadero
__isVarDefinido ¶
La función __isVarDefined devuelve verdadero si la variable existe o falso en caso contrario.
Parámetros ¶
Ejemplo:
${__esVarDefined(JMeterThread.last_sample_ok)}volverá verdadero
__cambiarCaso ¶
La función de cambio de caso devuelve un valor de cadena cuyo caso se ha cambiado siguiendo un modo específico. El resultado se puede guardar opcionalmente en una variable JMeter.
Parámetros ¶
- Resultado SUPERIOR como AB-CD EF
- resultado INFERIOR como ab-cd ed
- MAYÚSCULAS resultado como Ab-CD eF
Ejemplos:
${__changeCase(Avaro omnia desunt\, inopi pauca\, sapienti nihil,UPPER,)}regresarán AVARO OMNIA DESUNT, INOPI PAUCA, SAPIENTI NIHIL
${__cambiarCaso(LABOR OMNIA VINCIT IMPROBUS,INFERIOR,)}volverá labor omnia vincit improbus
${__changeCase(ómnibus viis romam pervenitur,MAYÚSCULAS,)}volverá Omnibus viis romam pervenitur
__StringToFile ¶
La función __StringToFile se puede usar para escribir una cadena en un archivo. Cada vez que se llama, escribe una cadena para agregar o sobrescribir el archivo.
El valor de retorno predeterminado de la función es la cadena vacía
Parámetros ¶
Si necesita insertar un salto de línea en su contenido, use \n en su cadena.
20.6 Variables predefinidas ¶
La mayoría de las variables se establecen llamando a funciones o mediante elementos de prueba como Variables definidas por el usuario; en cuyo caso el usuario tiene control total sobre el nombre de la variable que se utiliza. Sin embargo, algunas variables están definidas internamente por JMeter. Estos se enumeran a continuación.
- COOKIE_cookiename : contiene el valor de la cookie (ver Administrador de cookies HTTP )
- JMeterThread.last_sample_ok : si la última muestra estuvo bien o no: verdadero / falso . Nota: esto se actualiza después de que se hayan ejecutado PostProcessors y Assertions.
- Variables de INICIO (ver la siguiente sección)
20.6 Propiedades predefinidas ¶
El conjunto de propiedades de JMeter se inicializa a partir de las propiedades del sistema definidas cuando se inicia JMeter; Las propiedades adicionales de JMeter se definen en jmeter.properties , user.properties o en la línea de comando.
Algunas propiedades integradas están definidas por JMeter. Estos se enumeran a continuación. Por comodidad, las propiedades de INICIO 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 el tiempo de inicio de JMeter, no el tiempo de inicio de la prueba. Están destinados principalmente para su uso en nombres de archivos, etc.