Usando Karate, me gustaría saber, si es posible establecer la condición If sin necesidad de llamar a un archivo de características diferente (y no usar JavaScript) -> usando el bloque de código de archivo de características de Karate en la condición:

P.ej. ¿Debería ser posible hacer algo así?

* if (variable==1) {
     * delay(3000)
     * retry().click('{button[3]/span}Text1')
     } 
     {
     * retry().click('{button[2]/span}Text2')
     * delay(3000)
      } 

¿Es posible hacer esto de alguna manera sin usar un archivo de características separado con solo unas pocas filas de código? ¿Tienes algún consejo?

1
Radim Bukovský 4 mar. 2021 a las 17:35

1 respuesta

La mejor respuesta

Sí, use la palabra clave eval, y puede hacer JS "puro" y en varias líneas:

* eval
"""
  if (variable == 1) {
    delay(3000);
    retry().click('{button[3]/span}Text1');
  } else {
   retry().click('{button[2]/span}Text2');
   delay(3000);
  }
"""

Por cierto, dado que parece que estás haciendo muchas pruebas avanzadas, te sugiero que comiences a usar la versión 1.0 RC para que no te lleves sorpresas y puedas darnos tu opinión también: https://github.com/intuit/karate/wiki/1.0-upgrade-guide

1
Peter Thomas 4 mar. 2021 a las 14:44