Entradas

Mostrando las entradas etiquetadas como selenium

Extraer el texto de un control oculto (hidden)

Buenas lectores. En ocasiones necesitamos traer el texto de un elemento que se encuentra oculto al usuario, esto por facilidad en algunas operaciones o simplemente el desarrollador almacena algun identificador o valor que vamos a necesitar mas adelante. En estos escenarios que son "atipicos" tambien necesitamos soluciones de las mismas características puesto que al ser un elemento invisible no podemos interactuar con el con un simple getText. Para esto la solución es sencilla, recurrimos a nuestra siempre confiable (la vieja confiable) javascript. Vamos a traernos el atributo del texto: Si usamos screenplay: WebElementFacade element = target.resolveFor(actor); String value = BrowseTheWeb.as(actor).evaluateJavascript("return arguments[0].innerText;", element).toString().trim(); Si estamos usando POM  @FindBy(id="color") WebElementFacade colorDropdown; String value = colorDropdown.getAttribute("innerText") Si estamos usando Selenium directo String ...

Cambiar el thread.sleep para no tener deuda técnica

Buenas lectores. Siempre en nuestras automatizaciones nos encontramos con el problema que el robot cuando se ejecuta va muy rápido, esto ocasiona que los test fallen. En esta situación necesitamos que el robot espere algún elemento para poder continuar la ejecución de forma correcta. Existen muchas formas de poder lograrlo, aquí algunos ejemplos usando SerenityBDD: Con screenplay: Ejemplo 1: jadcode.attemptsTo( WaitUntil.the(LocationForm.BTN_CREATE,isVisible()).forNoMoreThan(2).seconds(), Click.on(LocationForm.BTN_CREATE));   Ejemplos 2: jadcode.attemptsTo(Click.on(LocationForm.BTN_CREATE).afterWaitingUntilEnabled()); jadcode.attemptsTo(Click.on(LocationForm.BTN_CREATE).afterWaitingUntilPresent()); Ejemplo 3: jadcode.attemptsTo(Click.on(LocationForm.BTN_CREATE.waitingForNoMoreThan(Duration.ofSeconds(2)))); Con pageobject: Ejemplo 1: waitForPresenceOf("//h2[.='A title that is not immediately visible']"); Ejemplo 2: waitFor("//h2[.='A title that is not immedia...