Entradas

Mostrando las entradas etiquetadas como tips

Como saber que navegador esta ejecutando la automatización usando serenityBDD

Buenas lectores.  En algún momento puedes necesitar acceder a las características del navegador que está ejecutando la prueba, por ejemplo , saber si se está ejecutando en modo background. Para esas necesidades necesitamos acceder a la capabilities del navegador que está ejecutando la prueba.  Podemos hacerlo de la siguiente manera: Manera "screenplay": String browser = RemoteDriver.of(BrowseTheWeb.as(actor).getDriver()).getCapabilities().getBrowserName(); System.out.println("Browser: "+browser); Manera "pom": String browser =  RemoteDriver.of(Serenity.getDriver()).getCapabilities().getBrowserName(); System.out.println("Browser: "+browser); En screanplay funcionan ambas, la diferencia dependería del actor. En el ejemplo anterior podemos saber que navegador está ejecutando actualmente la prueba. Coordial Saludo. Fuentes: https://github.com/serenity-bdd/serenity-core/issues/2225 https://chromedriver.chromium.org/capabilities https://webdriver.io/es...

Como configurar el tamaño de la ventana de chrome cuando lanzas una automatización con SerenityBDD

Buenas lectores. Cuando lanzamos nuestra automatización en modo "background" siempre se envía un tamaño de ventana por defecto, esto hace que algunos escenario fallen por ser una pantalla pequeña. Para solucionar o manipular el tamaño simplemente enviamos por medio de chromeoptions el tamaño deseado de la siguiente forma: ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.AddArgument("--window-size=1300,1000"); Cuando trabajamos con SerenityBDD tenemos la ventaja que el mismo nos levanta la sesión, para manipular el tamaño simplemente agregamos al serenity.conf lo siguiente: "goog:chromeOptions" {         args = ["start-maximized", "no-sandbox", "ignore-certificate-errors", "disable-popup-blocking","headless"," --window-size=1920,1080 "                 "disable-default-apps", "disable-extensions-file-access-check", "disable-infobars", "disable-gpu...

Como saber el sistema operativo donde se está ejecutando la automatización de pruebas

Buenas lectores. Siguiendo con los tips de reconocer versiones, esta vez, vamos a revisar como identificamos la versión del sistema operativo donde se está corriendo el robot (automatización de pruebas). Eso es muy util cuando nos encontramos con la necesidad de interactuar con el sistema de archivos. En java es super sencillo hacerlo, con esta simple sentencia: System.getProperty("os.name");   Ejemplo real: System . out . println ( System . getProperty ( "os.name" )) ; if ( System . getProperty ( "os.name" ) . contains ( "Windows" )) { archive = "\\data_source.xlsx" ; } else { archive = "/ data_source .xlsx" ; } El ejemplo anterior compara si estamos usando windows, añade a la cadena del archivo la dirección del archivo, si no es windows, en este caso es linux por ende, añade la cadena del archivo en formato linux. En caso de querer algo mas específico porque corremos el robot en más sistemas op...

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 ...