Entradas

Mostrando las entradas etiquetadas como pasar información entre steps

Invocar un actor en cualquier parte de la automatización con serenityBDD

Buenas lectores. Alguna vez han necesitado invocar el actor en algún punto de la automatización que no sea en los steps? por ejemplo: WebElement element = MAP_ROUTE.of(MAP_ROUTE_NAME_MAP).resolveFor( currentActor() ).getElement(); Como pueden observar necesitemos resolver un target pero resulta que en la clase o método no recibimos ningún actor. Existen diferentes formas de abordar el problema, de momento para limitar a lo más común voy a citar 3 ejemplos: 1. Recibir el Actor en el método: Con esto solucionamos directamente nuestro problema y sin mayores contratiempos  public WebElement traerMapa (Actor actor){  return MAP_ROUTE.of(MAP_ROUTE_NAME_MAP).resolveFor(actor).getElement(); } El problema es que no es una buena práctica, con solo pensar que ya se vuelve un parámetro de entrada ya sabemos como pinta la cosa. 2. Recibir el Actor por almacenamiento: Si ya has visto mi blog encontraras muy familiar la siguiente manera de resolver el problema En el step almacenamos el actor...

SerenityBDD - Almacenar valores en memoria (pasar información entre steps)

Buenas lectores. En algunas ocasiones nos encontramos con la necesidad de almacenar algún valor para luego ser usado en otro sitio, algunos ejemplos son: Pasar información entre clases Persistir valores  Pasar información entre los steps  Cabe aclarar que existen muchas formas de solucionar esta necesidad, sin embargo, hoy la idea es ligarnos directamente al framework de SerenityBDD. Para esto tenemos dos formas más comunes de hacelo. 1. Usando variables globales Primero almacenamos el valor que necesitamos en la memoria de Serenity, esto aplica para cualquier valor, es decir, variables (String, int, boolean), clases, listas etc... Almacenar el valor: Serenity.setSessionVariable("User Name").to("Jane"); Explicación de la sintaxis: Serenity.setSessionVariable : Invoca la sesión para almacenar ("User Name") : Define el nombre de la asignación  Extraer el valor: Lo unico que resta es traer el valor por medio del identificador  String currentUserName = Sereni...