SlideShare una empresa de Scribd logo
Selenium + Java
©2023 Mario La Menza Perelló (mario.lm2a.com)
¿Por qué Selenium?
Limitaciones de Selenium
•Solo soporta testing de sólo aplicaciones web
•Las aplicaciones móviles no pueden ser
automatizadas
•Los captcha no pueden ser automatizados
•No hay un “soporte” por parte de los creadores
•El usuario debe saber programar de antemano
•Es gratis
•Tiene una gran cantidad de foros y comunidades activas
•Compatibilidad con muchos browsers (Firefox, Chrome, I.E.)
•Compatibilidad con Sistemas Operativos (Windows, Mac, Linux, etc)
•Soporta múltiples lenguajes de programación (Java, Ruby, C#, Python, etc)
©2023 Mario La Menza Perelló (mario.lm2a.com)
WebDriver
©2023 Mario La Menza Perelló (mario.lm2a.com)
Arquitectura del WebDriver de Selenium
©2023 Mario La Menza Perelló (mario.lm2a.com)
Crear un WebDriver para Java
HTMLUnit
Firefox
Chrome
©2023 Mario La Menza Perelló (mario.lm2a.com)
Mas browsers
©2023 Mario La Menza Perelló (mario.lm2a.com)
Métodos de webdriver
©2023 Mario La Menza Perelló (mario.lm2a.com)
WebDriver comandos Get
©2023 Mario La Menza Perelló (mario.lm2a.com)
get(String): void
Abre una URL. Debe incluir el protocolo http de lo contrario tira una
Excepcion
Ejemplo:
driver.get(https://www.google.com);
©2023 Mario La Menza Perelló (mario.lm2a.com)
getCurrentUrl(): String
Devuelve la URL de la pagina actualmente cargada.
Ejemplo
String currentUrl = driver.getCurrentUrl();
©2023 Mario La Menza Perelló (mario.lm2a.com)
getTitle: String
Devuelve el titulo de la pagina actual
Ejemplo:
String title = driver.getTitle();
©2023 Mario La Menza Perelló (mario.lm2a.com)
getPageSource(): String
Devuelve el código fuente de la pagina actual.
Ejemplo:
String pageSource = driver.getPageSource();
©2023 Mario La Menza Perelló (mario.lm2a.com)
getText(): String
Devuelve el texto del elemento al que se aplica
Ejemplo:
String text = driver.findElement(By.id("India")).getText();
©2023 Mario La Menza Perelló (mario.lm2a.com)
getTagName(): String
Obtiene el Tag de un elemento obtenido con un método:
findElement(By)
Ejemplo:
WebElement element = driver.findElement(By.id("DownloadButton"));
String tagName = element.getTagName();
System.out.println(tagName);
©2023 Mario La Menza Perelló (mario.lm2a.com)
getCssValue(): String
Obtiene la clase de estilo que tenga asociado un elemento
Ejemplo:
element.getCssValue();
©2023 Mario La Menza Perelló (mario.lm2a.com)
getAttribute(String name): String
Devuelve un atributo dado de un elemento
Ejemplo:
WebElement element = driver.findElement(By.id("DownloadButton"));
//Esto devuelve"DownloadButton".
String attributeValue = element.getAttribute("id");
System.out.println(attributeValue);
©2023 Mario La Menza Perelló (mario.lm2a.com)
getSize(): int
Devuelve la medida de un elemento
Ejemplo:
WebElement element = driver.findElement(By.id("DownloadButton"));
Dimension elementSize = element.getSize();
System.out.println(“Height :” + elementSize.height + ”Width : "+
elementSize.width);
©2023 Mario La Menza Perelló (mario.lm2a.com)
close():void
Cierra la ventana del navegador que esta controlando actualmente el
web driver
Ejemplo:
driver.close();
©2023 Mario La Menza Perelló (mario.lm2a.com)
quit(): void
Cierra todas las ventanas abiertas por el web driver
Ejemplo:
driver.quit();
©2023 Mario La Menza Perelló (mario.lm2a.com)
Ejemplo
©2023 Mario La Menza Perelló (mario.lm2a.com)
Localizar elementos
Con Java en Selenium
©2023 Mario La Menza Perelló (mario.lm2a.com)
Formas de localizar elementos de una pagina
©2023 Mario La Menza Perelló (mario.lm2a.com)
X Atributo
<input type="text" id="fistname" name="first_name" class="myForm">
Forma genérica:
css = element_name[<attribute_name>='<value>’]
WebElement firstName = driver.findElement(By.cssSelector("input[name='first_name']"));
©2023 Mario La Menza Perelló (mario.lm2a.com)
X Atributo Id
driver.findElement(By.cssSelector("input#firstname"));
//o alternativamente
driver.findElement(By.cssSelector("#firstname"));
©2023 Mario La Menza Perelló (mario.lm2a.com)
Metodos WebElement
©2023 Mario La Menza Perelló (mario.lm2a.com)
Operaciones básicas
©2023 Mario La Menza Perelló (mario.lm2a.com)
Métodos
©2023 Mario La Menza Perelló (mario.lm2a.com)
Navegacion
©2023 Mario La Menza Perelló (mario.lm2a.com)
navigate(Object o) : Navigation
• Proporciona los siguientes métodos:
©2023 Mario La Menza Perelló (mario.lm2a.com)
to(String arg) : void
Este método se utiliza para navegar a una URL desde la ventana actual
del navegador.
Atencion: Simplemente navegará a la página web pero no esperará
hasta que se cargue toda la página.
Ejemplo:
driver.navigate().to(http://www.scientecheasy.com);
©2023 Mario La Menza Perelló (mario.lm2a.com)
Get VS
driver.get() driver.navigate().to()
1. El método driver.get() se usa para
abrir una URL específica de la
aplicación web y esperar hasta que se
cargue toda la página.
1. El método driver.navigate().to() se
utiliza para navegar por una URL
específica de la aplicación web y no
espera hasta que se carga toda la
página.
2. No mantiene el historial de
navegación y cookies.
2. Mantiene el historial de navegación y
las cookies.
3. No podemos avanzar o retroceder
entre las páginas usando el driver.get().
3. Podemos navegar fácilmente entre
las páginas hacia adelante, hacia atrás y
actualizar usando driver.navigate().
©2023 Mario La Menza Perelló (mario.lm2a.com)
forward() : void
Va hacia adelante en el history del navegador
Ejemplo:
driver.navigate().forward();
©2023 Mario La Menza Perelló (mario.lm2a.com)
back() : void
Va hacia atras en el history del navegador
Ejemplo:
driver.navigate().back();
©2023 Mario La Menza Perelló (mario.lm2a.com)
refresh() : void
Equivale a apretar F5, recarga la pagina actual
Ejemplo:
driver.navigate().refresh();
©2023 Mario La Menza Perelló (mario.lm2a.com)
Ejemplo
• Inicie el navegador Chrome
• Navegue a la URL: https://www.google.com
• Espere a que la página se cargue por completo.
• Haz clic en el texto del enlace de Gmail.
• Obtener el título de la página web actual.
• Obtenga la longitud del título de la página web actual.
• Vuelva a la página de inicio con el comando Atrás.
• Obtenga el título de la contraportada.
• Obtener la longitud del título de la contraportada.
• Nuevamente regrese a la página anterior usando el comando de avance.
• Obtenga el título y la longitud del título de la página anterior.
• Ahora actualice la página web usando el comando de actualización.
• Cierra el navegador.
©2023 Mario La Menza Perelló (mario.lm2a.com)
Demo
©2023 Mario La Menza Perelló (mario.lm2a.com)
Descargar libreria
©2023 Mario La Menza Perelló (mario.lm2a.com)
Descargar el Driver
©2023 Mario La Menza Perelló (mario.lm2a.com)
Crear proyecto en Eclipse
• Ver Eclipse
• Proyecto Eclipse
• Proyecto Maven
©2023 Mario La Menza Perelló (mario.lm2a.com)
Agregar la librería al build path
©2023 Mario La Menza Perelló (mario.lm2a.com)
Configurar el driver en la clase Java
©2023 Mario La Menza Perelló (mario.lm2a.com)
Agregar código para acceder a algo
©2023 Mario La Menza Perelló (mario.lm2a.com)
Otro ejemplo
©2023 Mario La Menza Perelló (mario.lm2a.com)
Codigo
©2023 Mario La Menza Perelló (mario.lm2a.com)

Más contenido relacionado

La actualidad más candente

Mib jati diri bangsa brunei
Mib jati diri bangsa bruneiMib jati diri bangsa brunei
Mib jati diri bangsa bruneiIrma Amira
 
Perbandingan ekonomi umum dan ekonomi islam
Perbandingan ekonomi umum dan ekonomi islamPerbandingan ekonomi umum dan ekonomi islam
Perbandingan ekonomi umum dan ekonomi islam
Cahya Kamila Dewi
 
BPMS2033 Islamic Business Ethics and Social Responsibility-Fundamental
BPMS2033 Islamic Business Ethics and Social Responsibility-FundamentalBPMS2033 Islamic Business Ethics and Social Responsibility-Fundamental
BPMS2033 Islamic Business Ethics and Social Responsibility-Fundamental
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Hubungan Etnik Bab-4
Hubungan Etnik Bab-4Hubungan Etnik Bab-4
Hubungan Etnik Bab-4
Fadhil Ismail
 
Importance of halal certification
Importance of halal certificationImportance of halal certification
Importance of halal certification
chandru sharma
 
18.9.2012 hadis qudsi complete
18.9.2012   hadis qudsi complete18.9.2012   hadis qudsi complete
18.9.2012 hadis qudsi complete
Angah Rahim
 

La actualidad más candente (6)

Mib jati diri bangsa brunei
Mib jati diri bangsa bruneiMib jati diri bangsa brunei
Mib jati diri bangsa brunei
 
Perbandingan ekonomi umum dan ekonomi islam
Perbandingan ekonomi umum dan ekonomi islamPerbandingan ekonomi umum dan ekonomi islam
Perbandingan ekonomi umum dan ekonomi islam
 
BPMS2033 Islamic Business Ethics and Social Responsibility-Fundamental
BPMS2033 Islamic Business Ethics and Social Responsibility-FundamentalBPMS2033 Islamic Business Ethics and Social Responsibility-Fundamental
BPMS2033 Islamic Business Ethics and Social Responsibility-Fundamental
 
Hubungan Etnik Bab-4
Hubungan Etnik Bab-4Hubungan Etnik Bab-4
Hubungan Etnik Bab-4
 
Importance of halal certification
Importance of halal certificationImportance of halal certification
Importance of halal certification
 
18.9.2012 hadis qudsi complete
18.9.2012   hadis qudsi complete18.9.2012   hadis qudsi complete
18.9.2012 hadis qudsi complete
 

Similar a Selenium.pdf

Diseño web
Diseño webDiseño web
Diseño web
valenciaredsocial
 
Diseño web
Diseño webDiseño web
Diseño web
valenciaredsocial
 
Tema4 apartado4.2
Tema4 apartado4.2Tema4 apartado4.2
Caracteristicas De Navegadores
Caracteristicas De NavegadoresCaracteristicas De Navegadores
Caracteristicas De Navegadores
Galaxy PRO
 
Caracteristicas De Navegadores
Caracteristicas De NavegadoresCaracteristicas De Navegadores
Caracteristicas De Navegadores
Galaxy PRO
 
Caracteristicas De Navegadores
Caracteristicas De NavegadoresCaracteristicas De Navegadores
Caracteristicas De Navegadores
Galaxy PRO
 
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
David Gómez García
 
Diseño web
Diseño webDiseño web
Diseño web
valenciaredsocial
 
Ebook tutorialspringbootheroku
Ebook tutorialspringbootherokuEbook tutorialspringbootheroku
Ebook tutorialspringbootheroku
Renato Martin De La Rosa Castillo
 
Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020
Maximiliano Firtman
 
Diseño web
Diseño webDiseño web
Diseño web
valenciaredsocial
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j query
Pablo Viteri
 
Aplicaciones web offline ITParral Prieto y Nassi
Aplicaciones web offline ITParral Prieto y NassiAplicaciones web offline ITParral Prieto y Nassi
Aplicaciones web offline ITParral Prieto y Nassi
Guillermo Nassi
 
Trabajo práctico n 6
Trabajo práctico n 6Trabajo práctico n 6
Trabajo práctico n 6
julicossio
 
Dn13 u3 6_lswa
Dn13 u3 6_lswaDn13 u3 6_lswa
Dn13 u3 6_lswa
wendatgo
 
Dn13 u3 6_lswa
Dn13 u3 6_lswaDn13 u3 6_lswa
Dn13 u3 6_lswa
wendatgo
 
Desarrollo web front-end con TypeScript, Angular 2 e Ionic
Desarrollo web front-end con TypeScript, Angular 2 e IonicDesarrollo web front-end con TypeScript, Angular 2 e Ionic
Desarrollo web front-end con TypeScript, Angular 2 e Ionic
Micael Gallego
 
Tutorial de dreamweaver
Tutorial de dreamweaverTutorial de dreamweaver
Tutorial de dreamweaver
ArmandoC42
 
Introducción a web matrix
Introducción a web matrixIntroducción a web matrix
Introducción a web matrix
MICTT Palma
 
Navegar por internet
Navegar por internetNavegar por internet
Navegar por internet
javier muñoz
 

Similar a Selenium.pdf (20)

Diseño web
Diseño webDiseño web
Diseño web
 
Diseño web
Diseño webDiseño web
Diseño web
 
Tema4 apartado4.2
Tema4 apartado4.2Tema4 apartado4.2
Tema4 apartado4.2
 
Caracteristicas De Navegadores
Caracteristicas De NavegadoresCaracteristicas De Navegadores
Caracteristicas De Navegadores
 
Caracteristicas De Navegadores
Caracteristicas De NavegadoresCaracteristicas De Navegadores
Caracteristicas De Navegadores
 
Caracteristicas De Navegadores
Caracteristicas De NavegadoresCaracteristicas De Navegadores
Caracteristicas De Navegadores
 
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriverPrueba De Aplicaciones Web con Selenium 2 y WebDriver
Prueba De Aplicaciones Web con Selenium 2 y WebDriver
 
Diseño web
Diseño webDiseño web
Diseño web
 
Ebook tutorialspringbootheroku
Ebook tutorialspringbootherokuEbook tutorialspringbootheroku
Ebook tutorialspringbootheroku
 
Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020Hacking Web Performance en Español - JSConf México 2020
Hacking Web Performance en Español - JSConf México 2020
 
Diseño web
Diseño webDiseño web
Diseño web
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j query
 
Aplicaciones web offline ITParral Prieto y Nassi
Aplicaciones web offline ITParral Prieto y NassiAplicaciones web offline ITParral Prieto y Nassi
Aplicaciones web offline ITParral Prieto y Nassi
 
Trabajo práctico n 6
Trabajo práctico n 6Trabajo práctico n 6
Trabajo práctico n 6
 
Dn13 u3 6_lswa
Dn13 u3 6_lswaDn13 u3 6_lswa
Dn13 u3 6_lswa
 
Dn13 u3 6_lswa
Dn13 u3 6_lswaDn13 u3 6_lswa
Dn13 u3 6_lswa
 
Desarrollo web front-end con TypeScript, Angular 2 e Ionic
Desarrollo web front-end con TypeScript, Angular 2 e IonicDesarrollo web front-end con TypeScript, Angular 2 e Ionic
Desarrollo web front-end con TypeScript, Angular 2 e Ionic
 
Tutorial de dreamweaver
Tutorial de dreamweaverTutorial de dreamweaver
Tutorial de dreamweaver
 
Introducción a web matrix
Introducción a web matrixIntroducción a web matrix
Introducción a web matrix
 
Navegar por internet
Navegar por internetNavegar por internet
Navegar por internet
 

Último

herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
holabuscafiesta
 

Último (8)

herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
Buscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - BuscafiestaBuscador de Eventos y Fiestas en España - Buscafiesta
Buscador de Eventos y Fiestas en España - Buscafiesta
 

Selenium.pdf

  • 1. Selenium + Java ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 2. ¿Por qué Selenium? Limitaciones de Selenium •Solo soporta testing de sólo aplicaciones web •Las aplicaciones móviles no pueden ser automatizadas •Los captcha no pueden ser automatizados •No hay un “soporte” por parte de los creadores •El usuario debe saber programar de antemano •Es gratis •Tiene una gran cantidad de foros y comunidades activas •Compatibilidad con muchos browsers (Firefox, Chrome, I.E.) •Compatibilidad con Sistemas Operativos (Windows, Mac, Linux, etc) •Soporta múltiples lenguajes de programación (Java, Ruby, C#, Python, etc) ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 3. WebDriver ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 4. Arquitectura del WebDriver de Selenium ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 5. Crear un WebDriver para Java HTMLUnit Firefox Chrome ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 6. Mas browsers ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 7. Métodos de webdriver ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 8. WebDriver comandos Get ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 9. get(String): void Abre una URL. Debe incluir el protocolo http de lo contrario tira una Excepcion Ejemplo: driver.get(https://www.google.com); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 10. getCurrentUrl(): String Devuelve la URL de la pagina actualmente cargada. Ejemplo String currentUrl = driver.getCurrentUrl(); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 11. getTitle: String Devuelve el titulo de la pagina actual Ejemplo: String title = driver.getTitle(); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 12. getPageSource(): String Devuelve el código fuente de la pagina actual. Ejemplo: String pageSource = driver.getPageSource(); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 13. getText(): String Devuelve el texto del elemento al que se aplica Ejemplo: String text = driver.findElement(By.id("India")).getText(); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 14. getTagName(): String Obtiene el Tag de un elemento obtenido con un método: findElement(By) Ejemplo: WebElement element = driver.findElement(By.id("DownloadButton")); String tagName = element.getTagName(); System.out.println(tagName); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 15. getCssValue(): String Obtiene la clase de estilo que tenga asociado un elemento Ejemplo: element.getCssValue(); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 16. getAttribute(String name): String Devuelve un atributo dado de un elemento Ejemplo: WebElement element = driver.findElement(By.id("DownloadButton")); //Esto devuelve"DownloadButton". String attributeValue = element.getAttribute("id"); System.out.println(attributeValue); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 17. getSize(): int Devuelve la medida de un elemento Ejemplo: WebElement element = driver.findElement(By.id("DownloadButton")); Dimension elementSize = element.getSize(); System.out.println(“Height :” + elementSize.height + ”Width : "+ elementSize.width); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 18. close():void Cierra la ventana del navegador que esta controlando actualmente el web driver Ejemplo: driver.close(); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 19. quit(): void Cierra todas las ventanas abiertas por el web driver Ejemplo: driver.quit(); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 20. Ejemplo ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 21. Localizar elementos Con Java en Selenium ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 22. Formas de localizar elementos de una pagina ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 23. X Atributo <input type="text" id="fistname" name="first_name" class="myForm"> Forma genérica: css = element_name[<attribute_name>='<value>’] WebElement firstName = driver.findElement(By.cssSelector("input[name='first_name']")); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 24. X Atributo Id driver.findElement(By.cssSelector("input#firstname")); //o alternativamente driver.findElement(By.cssSelector("#firstname")); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 25. Metodos WebElement ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 26. Operaciones básicas ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 27. Métodos ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 28. Navegacion ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 29. navigate(Object o) : Navigation • Proporciona los siguientes métodos: ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 30. to(String arg) : void Este método se utiliza para navegar a una URL desde la ventana actual del navegador. Atencion: Simplemente navegará a la página web pero no esperará hasta que se cargue toda la página. Ejemplo: driver.navigate().to(http://www.scientecheasy.com); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 31. Get VS driver.get() driver.navigate().to() 1. El método driver.get() se usa para abrir una URL específica de la aplicación web y esperar hasta que se cargue toda la página. 1. El método driver.navigate().to() se utiliza para navegar por una URL específica de la aplicación web y no espera hasta que se carga toda la página. 2. No mantiene el historial de navegación y cookies. 2. Mantiene el historial de navegación y las cookies. 3. No podemos avanzar o retroceder entre las páginas usando el driver.get(). 3. Podemos navegar fácilmente entre las páginas hacia adelante, hacia atrás y actualizar usando driver.navigate(). ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 32. forward() : void Va hacia adelante en el history del navegador Ejemplo: driver.navigate().forward(); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 33. back() : void Va hacia atras en el history del navegador Ejemplo: driver.navigate().back(); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 34. refresh() : void Equivale a apretar F5, recarga la pagina actual Ejemplo: driver.navigate().refresh(); ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 35. Ejemplo • Inicie el navegador Chrome • Navegue a la URL: https://www.google.com • Espere a que la página se cargue por completo. • Haz clic en el texto del enlace de Gmail. • Obtener el título de la página web actual. • Obtenga la longitud del título de la página web actual. • Vuelva a la página de inicio con el comando Atrás. • Obtenga el título de la contraportada. • Obtener la longitud del título de la contraportada. • Nuevamente regrese a la página anterior usando el comando de avance. • Obtenga el título y la longitud del título de la página anterior. • Ahora actualice la página web usando el comando de actualización. • Cierra el navegador. ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 36. Demo ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 37. Descargar libreria ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 38. Descargar el Driver ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 39. Crear proyecto en Eclipse • Ver Eclipse • Proyecto Eclipse • Proyecto Maven ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 40. Agregar la librería al build path ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 41. Configurar el driver en la clase Java ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 42. Agregar código para acceder a algo ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 43. Otro ejemplo ©2023 Mario La Menza Perelló (mario.lm2a.com)
  • 44. Codigo ©2023 Mario La Menza Perelló (mario.lm2a.com)