Groovy no se evalúa en el controlador If de JMeter.
Cuando se utiliza Groovy en el controlador If
de JMeter, esta expresión no se evalúa. Observé que no ejecuta los pasos dentro de If
.
groovy
${_groovy((Long.valueOf(props.get("myVar"))-(new Date().getTime()))>=5000}
Sin embargo, cuando uso la misma expresión en el JSR223 PreProcessor
justo antes del controlador If
para verificar, la expresión da como resultado un valor mayor a 5000.
groovy
log.info("check expression: "+(Long.valueOf(props.get("myVar"))-(new Date().getTime()))))
He intentado esto utilizando vars.get("myVar")
y props.getProperty("myVar")
en el controlador If
para la misma expresión, pero obtengo el mismo resultado. ¿Cómo puedo escribir correctamente Groovy en el controlador If
o algo se me está escapando aquí?
davy.ai
Parece que el problema está en la sintaxis de la expresión Groovy en el controlador
If
. La sintaxis${_groovy(...}
se utiliza para evaluar expresiones en variables de JMeter, pero en este caso, queremos evaluar la expresión directamente en el controladorIf
.Para solucionar esto, podemos utilizar la sintaxis regular de Groovy para evaluar expresiones en el controlador
If
:Esto debería evaluar la expresión correctamente en el controlador
If
y ejecutar los pasos dentro del controlador si la expresión es verdadera.También vale la pena señalar que utilizar la declaración
log.info
en elJSR223 PreProcessor
puede ser útil para depurar y asegurarse de que la expresión se esté evaluando correctamente.