Está en la página 1de 11

AUTOMATIZACIÓN I – UTILIZANDO MAVEN

Paso 1. Declaramos el driver de tipo WebDriver y definimos las propiedades que tendrá
el driver.

Con System.setProperty, estamos indicando qué vamos a trabajar con el driver de


Chrome, y le estamos indicando la ruta donde se encuentra el Chrome driver, pero, como
nuestro chromedriver.exe se encuentra en la raíz de nuestro proyecto, es por ello que
solo se coloca “chromedriver.exe”.

Luego, definimos que trabajaremos con el driver de Chrome, realizando las instancia de
ChromeDriver(). Así mismo, maximizamos el navegador de Google Chrome, con las
propiedades driver.manage().windows().maximize().
Luego debemos decirle al driver en qué url debe abrir por defecto, esto se realiza con
driver.get(“www.google.com.co”), con esto le decimos que debe abrir en la página de

21
inicio de Google. Y, por último, no menos importante, debemos ponerle un tiempo de
espera implícito
driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS); // Tiempo de espera implicito.

, antes de comenzar la automatización, esto con el objetivo de que espere antes de


ejecutar cualquier acción en la página web o hasta que la página este completamente
cargada.
Estando en la página de Google, y según lo que nos dicta la automatización debemos
buscar la Palabra Medellín.

Para ello debemos definir lo siguiente,

Como podemos observar, se declara una variable de tipo WebElement llamada search,
que nos servirá para localizar con el método de findElement mencionado con
anterioridad, el primer elemento HTML de nuestra página, que en este caso es la caja de
texto para escribir “Medellín”.

22
Luego de mapearlo, debemos implementar el método SendKeys, qué nos servirá para
enviar texto hacia el input de la página de Google, así mismo, se puede observar que al
final de “Medellín”, está un símbolo no muy particular “\n”, que la función que cumple es
indicarle al driver que debe darle Enter, y realizar la búsqueda.

Una vez en esta página debemos ingresar al Link que proporciona Wikipedia, para ello
debemos mapear ese elemento HTML de la página web, esto lo hacemos en la siguiente
línea,

En este caso utilizamos el método clic, que se mencionó con anterioridad.


Nuestra automatización ya debería estar en la página de Wikipedia,

23
Por consiguiente, debemos capturar el título, en este caso “Medellín”. Para ello
debemos localizar este elemento en la página, con su respectivo XPath, u otro atributo
con el cual podemos seleccionar el elemento en específico.

Como podemos observar también definimos una variable de tipo WebElement, y


localizamos el elemento HTML, con el método findElement. Existe un método que
proporciona Selenium para capturar el texto encontrado en página web, y no es más que
el getText(), que se mencionó con anterioridad. Este método debería traernos el nombre
que capture del elemento que le hicimos, por ellos realizamos un System.out.println();
que nos imprimirá en la consola que texto capturó de la página web.
Como una validación podremos realizar un condicional para verificar que este texto sea
en realidad “Medellín”, es decir, para simular un resultado esperado o una validación de
nuestro caso de prueba. Esta comparación la realizamos con el método
equalsIgnoreCase(), que nos compara dos String’s y nos ignora las mayúsculas, esto

24
se cumple debería entrar al IF, e imprimir en consola “Es igual a Medellín”, si no se
cumple esta condición, debería imprimir “No es igual a Medellín”.
Lo último que nos queda de nuestra automatización, es escribir en el input, que se
encuentra dentro de la página de Wikipedia.

Para ello definimos, hacemos uso de lo siguiente,

Como prueba, realizamos una instancia de WebDriverWait, que nos sirve para realizar
tiempos de espera explícitos, a este, debemos pasarle el driver, y un tiempo de espera
predefinido que será de 20 segundos.
Definimos nuestra variable de tipo WebElement, y envés de realizar la búsqueda como
estamos acostumbrados, es decir con el método findElement(), ahora utilizaremos algo
diferente que lo que hará es esperar hasta que el elemento que nosotros deseemos sea
clickable, el tiempo que previamente le predefinimos. Y de forma posterior, utilizamos el
método SendKeys() para escribir en el input.

25
Hay algo importante, sin embargo, no es buena práctica utilizarlo. El Thread.Sleep(3000),
lo que hace es parar el hilo de ejecución actual, hasta que pase el tiempo definido que en
este caso es de 3 segundos.
Por último, con el método clear(), limpiamos la caja de texto. En este punto nuestra
automatización debe haber terminado.
Existen algunas herramientas que nos facilitan la vida en muchas ocasiones,
➢ CHROPATH: Chropath es una herramienta poderosa para encontrar los XPath
(relativo o absoluto) de cualquier página web, además del Css Selector.
https://chrome.google.com/webstore/detail/chropath/ljngjbnaijcbncmcnjfhigebomdlk
cjo?hl=en
➢ XPATH HELPER: XPath Helper facilita la extracción, edición y evaluación de
consultas XPath en cualquier página web. Es decir, le ingresas el XPath que estás
buscando, y él te lo selecciona en la página web.
https://chrome.google.com/webstore/detail/xpath-
helper/hgimnogjllphhhkhlmebbmlgjoejdpjl/related?hl=en

En el siguiente enlace tienen el ejemplo guía utilizado en el


desarrollo de este documento.
https://github.com/danielcorrea96/GuiaSelenium

26
AUTOMATIZACIÓN I – UTILIZANDO GRADLE
Paso 1. Procedemos a la creación del proyecto

Buscamos Gradle, seleccionamos Next…

27
Una vez creado el proyecto, se debería tener lo
siguiente, a excepción del chromdriver.exe, que
de igual manera debemos pegar en la raíz del
proyecto debido a que será el navegador que
utilizaremos.
Una vez hecho esto, vamos al archivo
Build.gradle, que es lo análogo al pom.xml de
Maven, este archivo debería tener la siguiente configuración por defecto…
Tiene en su interior una configuración
básica para Java. Por lo tanto, y como
vamos a utilizar Selenium debemos ir a la
pagina de Maven Repository, y buscar la
dependencia de Selenium para Gradle,
así…

28
Copiamos la dependencia, y debemos pegarla en el Build Gradle, así….

Guardamos, ahora debemos


refrescar el proyecto Gradle
para que se descargue lo
que acabamos de pegar en
el Build Gradle. Entonces, le
dame clic derecho en la raíz
de nuestro proyecto, vamos
a el apartado de Gradle y
seleccionamos Refresh
Gradle Proyect

29
Una vez hecho esto, en la parte inferior derecha
debería estar cargando algo, esperemos hasta
que esto termine.
Luego, creamos una clase en el paquete
src/main/java, llamada “App.java” al igual
que en Maven, esta clase no va a cambiar en
nada, por tanto, copiamos y pegamos el código.
Y debería quedar de la siguiente forma.

30
Por último, debemos ejecutar el proyecto, por tanto, clic derecho a la clase App.java,
luego Run As, y lo ejecutamos como Java Application.

En el siguiente Link podrá descarga el proyecto:


https://github.com/danielcorrea96/SeleniumGradle

31

También podría gustarte