java - oficial - jmeter test
Error en Beanshell Sampler JMeter para analizar RegularExpressionExtractor (3)
Configuración debajo del resultado de la muestra en archivo jar
mySampleResult.setResponseData("ReturnCode" + returnCode + "EndReturnCode" ,null);
copie el archivo jar en lib/ext
de JMeter
.
Cree un proyecto donde el Regular expression extractor
se adjunta a la solicitud java que llama a la ejecución de prueba en el archivo jar
La cadena de respuesta está debajo
ReturnCodeThu Feb 16 08:01:56 GMT 2017,Thu Feb 16 09:09:27 GMT 2017,0:1:7:31,98.74105EndReturnCode
Extractor de expresión regular
Reference Name: returnValue
Regular Expression: ReturnCode(.*?)EndReturnCode
Código Beanshell
${returnValue}
Error en Beanshell
Response message: org.apache.jorphan.util.JMeterException: Error invoking bsh method: eval In file: inline evaluation of: `` try { Thu Feb 16 08:01:56 GMT 2017,Thu Feb 16 09:09:27 GMT 2017,0:1:7:31,9 . . . '''' Encountered "16" at line 4, column 13.
Por favor, hágamelo saber por qué estoy recibiendo este error.
El acceso a la variable JMeter de Beanshell es diferente de lo que se suponía.
Vas a utilizar el objeto Beanshell incorporado "vars" (o variable, si quieres).
whatsActuallyReturned = vars.get("returnValue");
vars.put("returnValue", "whatever I want to put instead");
Si solo desea imprimir el valor en el archivo de registro de JMeter, use el método log.info
y use vars.get
.
Código de BeanShell:
log.info("returnValue " + vars.get("returnValue"));
Su declaración de ${returnValue}
es sintaxis incorrecta, al menos debe rodearlo con comillas como "${returnValue}"
por lo que el intérprete de Beanshell lo trataría como una cadena Java
De ahora en adelante, simplemente poner esta declaración dentro de Beanshell Sampler no tiene ningún sentido, debe agregar un procesamiento adicional, es decir:
-
return "${returnValue}";
- configurará el resultado de Beanshell Sampler a este valor -
SampleResult.setResponseData("${returnValue}".getBytes());
- lo mismo que arriba, pero usando SampleResult taquigrafía -
print("${returnValue}");
- muestra el valor a STDOUT -
log.info("${returnValue}");
- muestra el valor en el archivo jmeter.log
Consulte Cómo utilizar BeanShell: Componente incorporado favorito de JMeter para obtener más información sobre el uso de Beanshell en scripts de JMeter.