SlideShare a Scribd company logo
Java
Selenium
Webdriver
UF5-Programació
XavierSalaPujolar
InstitutCendrassos
Selenium són un
grup d’eines d’
automatització
de navegadorsSelenium
IDE Selenium
2
Mira el
navegador...
es mou sol!
Automatització?
Es fan servir
sobretot per fer
proves de
funcionament d’
aplicacions web
Selenium
IDE
Component
de Firefox
per crear
proves
ràpides
Permet controlar navegadors
des de llenguatges de
programació
Selenium
2
Alguns
navegadors
necessiten un
driver per
funcionar
Peraquests
nocal
Hi ha navegadors
headless (no tenen
entorn gràfic)
Combinat amb
Selenium Server
es poden controlar
alhora diversos
navegadors
Moltes de les eines
de test funcional
fan servir o poden
fer servir SeleniumRobot
framework
Selenium2
desdeJava
La forma més fàcil
d’usar Selenium és
crear projectes
amb Maven o
Gradle
Configuracióde
Maven
Tambéespotdescarregarla
llibreriaiafegir-laalprojecte
Els programes
comencen creant el
Driver
Obreunainstància
delnavegador
Pels navegadors
que necessiten
driver s’ha d’
especificar on és
Camíalbinaridel
driver
Per tancar el navegador
al acabar el programa
navegador.close()
navegador.quit()
Noméstancalafinestraactiva
Tancatoteslesfinestres
El mètode navigate()
permet navegar
.to(“www.iescendrassos.net”)
.refresh()
.back()
.forward()
Obreelnavegadorivaa
www.iescendrassos.net
El mètode get() també
permet navegar
Bloquejafinsque la
pàginaescarrega
Noredirigeix,sinó
quefaun GET
Amb manage().
window() podem
controlar l’aspecte
de la finestra
.maximize()
.fullScreen()
.setPosition(...)
Es pot obtenir
informació de la
pàgina activa
getTitle()
getPageSource()
getCurrentUrl()
Es poden fer
captures de
pantalla de la
pàgina
Es pot cercar un element o
diversos dins de la pàgina
WebElement
List<WebElement>
WebElement
By.className(“classe”)
By.cssSelector(“a”)
By.id(“password”)
By.partialName(“go”)
By.tagName(“a”)
By.linkText(“CF”)
By.name(“classe”)
By.xpath(“//a”)
Hi ha diferents
Locators
NoSuchElementFoundException
findElement() quan
falla genera una
excepció
No hi ha
<h1>frens!</h1>
findElements()retorna
unallistabuida
Es pot treure informació
dels WebElements
<html>
<head>
<title>X</title>
</head>
<body>
<a href=”http://www.iescendrassos.net”>
Centre
</a>
</body>
</html>
Centre
http://iescendrassos.net
getText()
getAttribute()
getCssValue()
isEnabled()
isDisplayed()
isSelected()
...
Se’ls hi poden
enviar comandes
.sendKeys(“Pep”)
Pep
.click()
.submit()
.clear()
Es pot enviar
qualsevol tecla
als elements
Lesconstantsestan
definidesaKeys
Les tecles
enviades poden
ser les que
vulguem ... Fem“zoomout”enviant
CTRL+-
Els DropBox es poden fer
servir a partir de l’objecte
Select
.selectByVisibleText(“fr”)
.selectByValue(“fr”)
.selectByIndex(2)
Permetferqualsevol
cosaambelcontrol
Es poden gestionar les cookies
a través de manager()
addCookie()
getCookie()
getCookies()
deleteCookieNamed()
deleteCookie()
deleteAllCookies()
...
finestra1
finestra2
Les comandes en Selenium
només van a la finestra
activa
Avegadeslespàginesweb
obrennovesfinestres
finestra1
finestra2
Es poden obtenir
els identificadors
(handles) de les
finestres obertes
A partir del
handle es pot
canviar la
finestra activa
finestra1
finestra2
Es poden definir temps d’espera
per evitar bloquejos
implícits:Sinoacabade
carregaren10segonscontinua
Explícits
Si les pàgines es
renderitzen amb
Javascript pot ser
que Selenium vagi
massa ràpid
Condició
HAd’esperar
alJavascript
JavascriptExecutor permet executar Javascript
en una pàgina
Silapàginausa JQUERY
tambéespotferservir!
Per tant es pot fer
servir JQuery per
seleccionar
elements
Es poden emetre
events de teclat i
de rata
Advanced User
Interactions API
Objectes
ACTIONi
ACTIONS
Mouelcursor
asobrela
imatge Dobleclic
text
DIV
A les seves
ordres
A les seves
ordres
Versió 1.0.0 - 2016

More Related Content

More from Xavier Sala Pujolar

Fer App mòbils amb tecnologia web
Fer App mòbils amb tecnologia webFer App mòbils amb tecnologia web
Fer App mòbils amb tecnologia web
Xavier Sala Pujolar
 
Expressions regulars en Java
Expressions regulars en JavaExpressions regulars en Java
Expressions regulars en Java
Xavier Sala Pujolar
 
Introducció a Docker
Introducció a DockerIntroducció a Docker
Introducció a Docker
Xavier Sala Pujolar
 
Introducció a Java Collections
Introducció a Java CollectionsIntroducció a Java Collections
Introducció a Java Collections
Xavier Sala Pujolar
 
Git
GitGit
Validació de Documents XML amb XSD
Validació de Documents XML amb XSDValidació de Documents XML amb XSD
Validació de Documents XML amb XSD
Xavier Sala Pujolar
 
Subversion
SubversionSubversion
Criptografia
CriptografiaCriptografia
Criptografia
Xavier Sala Pujolar
 
RIP
RIPRIP
OSPF
OSPFOSPF
Openldap
OpenldapOpenldap
Llei de Serveis de la Societat de la Informació (LSSI)
Llei de Serveis de la Societat de la Informació (LSSI)Llei de Serveis de la Societat de la Informació (LSSI)
Llei de Serveis de la Societat de la Informació (LSSI)
Xavier Sala Pujolar
 
Llei de Protecció de dades de caràcter personal (LOPD)
Llei de Protecció de dades de caràcter personal (LOPD)Llei de Protecció de dades de caràcter personal (LOPD)
Llei de Protecció de dades de caràcter personal (LOPD)
Xavier Sala Pujolar
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Xavier Sala Pujolar
 
Virtualització (2 part)
Virtualització (2 part)Virtualització (2 part)
Virtualització (2 part)
Xavier Sala Pujolar
 
Virtualització
VirtualitzacióVirtualització
Virtualització
Xavier Sala Pujolar
 
Enginyeria social
Enginyeria socialEnginyeria social
Enginyeria social
Xavier Sala Pujolar
 
Css en XML
Css en XMLCss en XML
Creació de documents xml
Creació de documents xmlCreació de documents xml
Creació de documents xml
Xavier Sala Pujolar
 
Introducció a xml
Introducció a xmlIntroducció a xml
Introducció a xml
Xavier Sala Pujolar
 

More from Xavier Sala Pujolar (20)

Fer App mòbils amb tecnologia web
Fer App mòbils amb tecnologia webFer App mòbils amb tecnologia web
Fer App mòbils amb tecnologia web
 
Expressions regulars en Java
Expressions regulars en JavaExpressions regulars en Java
Expressions regulars en Java
 
Introducció a Docker
Introducció a DockerIntroducció a Docker
Introducció a Docker
 
Introducció a Java Collections
Introducció a Java CollectionsIntroducció a Java Collections
Introducció a Java Collections
 
Git
GitGit
Git
 
Validació de Documents XML amb XSD
Validació de Documents XML amb XSDValidació de Documents XML amb XSD
Validació de Documents XML amb XSD
 
Subversion
SubversionSubversion
Subversion
 
Criptografia
CriptografiaCriptografia
Criptografia
 
RIP
RIPRIP
RIP
 
OSPF
OSPFOSPF
OSPF
 
Openldap
OpenldapOpenldap
Openldap
 
Llei de Serveis de la Societat de la Informació (LSSI)
Llei de Serveis de la Societat de la Informació (LSSI)Llei de Serveis de la Societat de la Informació (LSSI)
Llei de Serveis de la Societat de la Informació (LSSI)
 
Llei de Protecció de dades de caràcter personal (LOPD)
Llei de Protecció de dades de caràcter personal (LOPD)Llei de Protecció de dades de caràcter personal (LOPD)
Llei de Protecció de dades de caràcter personal (LOPD)
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Virtualització (2 part)
Virtualització (2 part)Virtualització (2 part)
Virtualització (2 part)
 
Virtualització
VirtualitzacióVirtualització
Virtualització
 
Enginyeria social
Enginyeria socialEnginyeria social
Enginyeria social
 
Css en XML
Css en XMLCss en XML
Css en XML
 
Creació de documents xml
Creació de documents xmlCreació de documents xml
Creació de documents xml
 
Introducció a xml
Introducció a xmlIntroducció a xml
Introducció a xml
 

Recently uploaded

Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
MaraZiga15
 
Viceverba_appdelmes_0624_joc per aprendre verbs llatins
Viceverba_appdelmes_0624_joc per aprendre verbs llatinsViceverba_appdelmes_0624_joc per aprendre verbs llatins
Viceverba_appdelmes_0624_joc per aprendre verbs llatins
Daniel Fernández
 
La transformació dels museus a través de l'adaptació a les noves tecnologies ...
La transformació dels museus a través de l'adaptació a les noves tecnologies ...La transformació dels museus a través de l'adaptació a les noves tecnologies ...
La transformació dels museus a través de l'adaptació a les noves tecnologies ...
mcompany11
 
INFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
INFORME_OFERTA_OME_INFORME_OFERTA (1).pdfINFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
INFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
Ernest Lluch
 
poemes catalans musicats als Països Catalans.pdf
poemes catalans musicats als Països Catalans.pdfpoemes catalans musicats als Països Catalans.pdf
poemes catalans musicats als Països Catalans.pdf
MnicaFerri1
 
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdfMenú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
Ernest Lluch
 
Oferta definitiva de places Curs 2024-25
Oferta definitiva de places Curs 2024-25Oferta definitiva de places Curs 2024-25
Oferta definitiva de places Curs 2024-25
SuperAdmin9
 
Tema 9. Les forces. PER A 2N DE LA ESO ..
Tema 9. Les forces. PER A 2N DE LA ESO ..Tema 9. Les forces. PER A 2N DE LA ESO ..
Tema 9. Les forces. PER A 2N DE LA ESO ..
EireLanezMartnez
 

Recently uploaded (8)

Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
Filosofia 1r Bachillerato. Sistemes ètics. Diàleg amb la tradició . Bé, virtu...
 
Viceverba_appdelmes_0624_joc per aprendre verbs llatins
Viceverba_appdelmes_0624_joc per aprendre verbs llatinsViceverba_appdelmes_0624_joc per aprendre verbs llatins
Viceverba_appdelmes_0624_joc per aprendre verbs llatins
 
La transformació dels museus a través de l'adaptació a les noves tecnologies ...
La transformació dels museus a través de l'adaptació a les noves tecnologies ...La transformació dels museus a través de l'adaptació a les noves tecnologies ...
La transformació dels museus a través de l'adaptació a les noves tecnologies ...
 
INFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
INFORME_OFERTA_OME_INFORME_OFERTA (1).pdfINFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
INFORME_OFERTA_OME_INFORME_OFERTA (1).pdf
 
poemes catalans musicats als Països Catalans.pdf
poemes catalans musicats als Països Catalans.pdfpoemes catalans musicats als Països Catalans.pdf
poemes catalans musicats als Països Catalans.pdf
 
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdfMenú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
Menú MENJADOR ESCOLAR juny 24 Ernest Lluch.pdf
 
Oferta definitiva de places Curs 2024-25
Oferta definitiva de places Curs 2024-25Oferta definitiva de places Curs 2024-25
Oferta definitiva de places Curs 2024-25
 
Tema 9. Les forces. PER A 2N DE LA ESO ..
Tema 9. Les forces. PER A 2N DE LA ESO ..Tema 9. Les forces. PER A 2N DE LA ESO ..
Tema 9. Les forces. PER A 2N DE LA ESO ..
 

Selenium web driver in Java