es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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í?

Tags:  , ,

Answer

  1. Avatar for 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 controlador If.

    Para solucionar esto, podemos utilizar la sintaxis regular de Groovy para evaluar expresiones en el controlador If:

    (Long.valueOf(props.get("myVar"))-(new Date().getTime())) >= 5000
    

    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 el JSR223 PreProcessor puede ser útil para depurar y asegurarse de que la expresión se esté evaluando correctamente.

Comments are closed.