Selenium web driver in Java

Click here to load reader

  • date post

    13-Jan-2017
  • Category

    Education

  • view

    314
  • download

    0

Embed Size (px)

Transcript of Selenium web driver in Java

  • Java

    Selenium Webdriver

    UF5 - ProgramaciXavier Sala Pujolar

    Institut Cendrassos

  • Selenium sn un grup deines dautomatitzaci de navegadorsSelenium IDE Selenium

    2

  • Mira el navegador...

    es mou sol!Automatitzaci?

  • Es fan servir sobretot per fer proves de funcionament daplicacions web

  • Selenium IDE

    Component de Firefox per crear

    proves rpides

  • Permet controlar navegadors des de llenguatges de programaci

    Selenium 2

  • Alguns navegadors necessiten un driver per funcionar

    Per aquests no cal

  • Hi ha navegadors headless (no tenen entorn grfic)

  • 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

  • Selenium 2 des de Java

  • La forma ms fcil dusar Selenium s crear projectes amb Maven o Gradle

    Configuraci de Maven

  • Tamb es pot descarregar la llibreria i afegir-la al projecte

  • Els programes comencen creant el Driver

    Obre una instncia del navegador

  • Pels navegadors que necessiten driver sha despecificar on s

    Cam al binari del driver

  • Per tancar el navegador al acabar el programa

    navegador.close()

    navegador.quit()

    Noms tanca la finestra activa

    Tanca totes les finestres

  • El mtode navigate() permet navegar

    .to(www.iescendrassos.net).refresh()

    .back()

    .forward()

  • Obre el navegador i va a www.iescendrassos.net

  • El mtode get() tamb permet navegar

    Bloqueja fins que la pgina es carrega

    No redirigeix, sin que fa un GET

  • Amb manage().window() podem controlar laspecte de la finestra

    .maximize()

    .fullScreen()

    .setPosition(...)

  • Es pot obtenir informaci de la pgina activa

    getTitle()

    getPageSource()

    getCurrentUrl()

  • Es poden fer captures de pantalla de la pgina

  • Es pot cercar un element o diversos dins de la pgina

    WebElement

    List

    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 frens!

    findElements() retorna una llista buida

  • Es pot treure informaci dels WebElements

    X

    Centre

    Centre

    http://iescendrassos.net

    getText()getAttribute()getCssValue()isEnabled()isDisplayed()isSelected()...

    http://www.iescendrassos.net

  • Sels hi poden enviar comandes

    .sendKeys(Pep)

    Pep

    .click()

    .submit()

    .clear()

  • Es pot enviar qualsevol tecla als elements

    Les constants estan definides a Keys

  • Les tecles enviades poden ser les que vulguem ... Fem zoom out enviant CTRL + -

  • Els DropBox es poden fer servir a partir de lobjecte Select

    .selectByVisibleText(fr)

    .selectByValue(fr)

    .selectByIndex(2)

    Permet fer qualsevol cosa amb el control

  • Es poden gestionar les cookies a travs de manager()

    addCookie()getCookie()getCookies()deleteCookieNamed()deleteCookie()deleteAllCookies()...

  • finestra1

    finestra2Les comandes en Selenium noms van a la finestra activa

    A vegades les pgines web obren noves finestres

  • 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 despera per evitar bloquejos

    implcits: Si no acaba de carregar en 10 segons continua

    Explcits

  • Si les pgines es renderitzen amb Javascript pot ser que Selenium vagi massa rpid

    Condici

    HA desperar al Javascript

  • JavascriptExecutor permet executar Javascript en una pgina

    Si la pgina usa JQUERY tamb es pot fer servir!

  • Per tant es pot fer servir JQuery per seleccionar elements

  • Es poden emetre events de teclat i de rata

    Advanced User Interactions API

  • Objectes ACTION i ACTIONS

    Mou el cursor a sobre la imatge Doble clic

  • text

    DIV

  • A les seves ordres

    A les seves ordres

  • Versi 1.0.0 - 2016