while variable jmeter automated-tests beanshell

while - jmeter random variable



Jmeter BeanShell AfirmaciĆ³n no falla las pruebas (1)

Estoy aprendiendo en Jmeter.

Tengo una Afirmación BeanShell que debería hacer que las pruebas fallen (la falla está codificada en la afirmación). Pero todas las pruebas pasan. ¿Qué estoy haciendo mal?

Entiendo que si BSA establece

Faliure = true;

la afirmación falla. Pero en mi caso, no falla.

Por favor mira:

Puede ver la Aserción de XPath desactivada en la captura de pantalla que no se cumple, si habilito esa, la prueba falla como yo esperaba.

Actualización: ahora veo por qué no falló las pruebas: el error tiene un error tipográfico ... Entonces la pregunta: ¿Por qué se ejecutó? ¿No es este java? ¿No es esta una variable no declarada?

¡Gracias!


Tienes 2 errores tipográficos, las declaraciones correctas son:

Failure = true; FailureMessage = "Here goes the failure message";

La aserción es exitosa ya que el código está bien desde la perspectiva de Beanshell, en Beanshell no es necesario definir explícitamente la clase de objeto. Siempre que sea un código válido, su afirmación es exitosa.

Aquí hay un par de técnicas de solución de problemas:

  1. Añadiendo debug(); como una primera línea de su script Beanshell desencadenará la salida de depuración a stdout
  2. Al rodear tu código en try / catch block como:

    try { //your code here } catch (Throwable ex) { log.error("Failure", ex); throw ex; }

    Tendrás el stacktrace relevante impreso en el archivo jmeter.log

Consulte Cómo utilizar BeanShell: artículo favorito del componente incorporado de JMeter para obtener información completa sobre el uso de los elementos de prueba de Beanshell en JMeter.