Example usage for org.openqa.selenium By xpath

List of usage examples for org.openqa.selenium By xpath

Introduction

In this page you can find the example usage for org.openqa.selenium By xpath.

Prototype

public static By xpath(String xpathExpression) 

Source Link

Usage

From source file:co.edu.uniandes.csw.cliente.web.test.ClienteTest.java

@Test
public void testComprar() throws Exception {
    String cadena = "prueba31";
    driver.findElement(By.xpath("//button[contains(@id,'button3')]")).click();
    Thread.sleep(5000);//from w  w w  . j  a v a  2 s.co m
    driver.findElement(By.id("name")).clear();
    driver.findElement(By.id("name")).sendKeys(cadena);
    driver.findElements(By.id("docId")).get(1).clear();
    driver.findElements(By.id("docId")).get(1).sendKeys(cadena);
    driver.findElement(By.id("tipo")).clear();
    driver.findElement(By.id("tipo")).sendKeys(cadena);
    driver.findElements(By.id("password")).get(1).clear();
    driver.findElements(By.id("password")).get(1).sendKeys(cadena);
    driver.findElements(By.xpath("//button[contains(@id,'cliente-loginButton')]")).get(1).click();
    Thread.sleep(5000);
    //            List<WebElement> table = driver.findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr"));
    //            boolean sucess = false;
    //            for (WebElement webElement : table) 
    //            {
    //                List<WebElement> elems = webElement.findElements(By.xpath("td"));
    //                if (elems.get(0).getText().equals("aaa") && elems.get(1).getText().equals("aaa")
    //                        && elems.get(2).getText().equals("aaa") && elems.get(2).getText().equals("aaa")) 
    //                {
    //                    sucess = true;
    //                }
    //            }
    boolean sucess = false;
    String texto1 = driver.findElement(By.id("name")).getAttribute("value");
    if (texto1.equals(cadena)) {
        sucess = true;
    }
    assertTrue(sucess);
    sucess = false;
    String texto2 = driver.findElement(By.id("docId")).getAttribute("value");
    if (texto2.equals(cadena)) {
        sucess = true;
    }
    assertTrue(sucess);
    sucess = false;
    String texto3 = driver.findElement(By.id("tipo")).getAttribute("value");
    if (texto3.equals(cadena)) {
        sucess = true;
    }
    assertTrue(sucess);
    sucess = false;
    String texto4 = driver.findElement(By.id("password")).getAttribute("value");
    if (texto4.equals(cadena)) {
        sucess = true;
    }
    assertTrue(sucess);
    driver.findElement(By.xpath("//button[contains(@id,'button7')]")).click();
    Thread.sleep(5000);
    driver.findElement(By.xpath("//button[contains(@id,'button3')]")).click();
    Thread.sleep(5000);
    driver.findElements(By.id("docId")).get(0).clear();
    driver.findElements(By.id("docId")).get(0).sendKeys(cadena);
    driver.findElements(By.id("password")).get(0).clear();
    driver.findElements(By.id("password")).get(0).sendKeys(cadena);
    driver.findElements(By.xpath("//button[contains(@id,'cliente-loginButton')]")).get(0).click();
    Thread.sleep(5000);
    sucess = false;
    texto1 = driver.findElement(By.id("name")).getAttribute("value");
    if (texto1.equals(cadena)) {
        sucess = true;
    }
    assertTrue(sucess);
    sucess = false;
    texto2 = driver.findElement(By.id("docId")).getAttribute("value");
    if (texto2.equals(cadena)) {
        sucess = true;
    }
    assertTrue(sucess);
    sucess = false;
    texto3 = driver.findElement(By.id("tipo")).getAttribute("value");
    if (texto3.equals(cadena)) {
        sucess = true;
    }
    assertTrue(sucess);
    sucess = false;
    texto4 = driver.findElement(By.id("password")).getAttribute("value");
    if (texto4.equals(cadena)) {
        sucess = true;
    }
    assertTrue(sucess);
    String nombreProducto = "Leche";
    int costoProducto = 1000;
    int pesoProducto = 1000;
    driver.findElements(By.xpath("//button[contains(@id,'button1')]")).get(0).click();
    Thread.sleep(5000);
    driver.findElements(By.xpath("//button[contains(@id,'ver-producto')]")).get(0).click();
    Thread.sleep(5000);
    WebElement cad1 = driver.findElement(By.xpath("//*[contains(.,'" + nombreProducto + "')]"));
    if (cad1 != null) {
        assertTrue(true);
    } else {
        assertTrue(false);
    }
    WebElement cad2 = driver.findElement(By.xpath("//*[contains(.,'Costo: $" + costoProducto + "')]"));
    if (cad2 != null) {
        assertTrue(true);
    } else {
        assertTrue(false);
    }
    WebElement cad3 = driver.findElement(By.xpath("//*[contains(.,'Peso: " + pesoProducto + "')]"));
    if (cad3 != null) {
        assertTrue(true);
    } else {
        assertTrue(false);
    }
    driver.findElement(By.xpath("//button[contains(@id,'comprar-producto')]")).click();
    Thread.sleep(5000);
    cad1 = driver.findElement(By.xpath("//*[contains(.,'" + nombreProducto + "')]"));
    if (cad1 != null) {
        assertTrue(true);
    } else {
        assertTrue(false);
    }
    cad2 = driver.findElement(By.xpath("//*[contains(.,'$" + costoProducto + "')]"));
    if (cad2 != null) {
        assertTrue(true);
    } else {
        assertTrue(false);
    }
    driver.findElements(By.id("pago")).get(0).clear();
    driver.findElements(By.id("pago")).get(0).sendKeys("Tarjeta dbito");
    driver.findElements(By.id("direccion")).get(0).clear();
    driver.findElements(By.id("direccion")).get(0).sendKeys("Cra 23 no 45");
    driver.findElements(By.xpath("//button[contains(@id,'confirmar-compra')]")).get(0).click();
    Thread.sleep(5000);
    driver.findElement(By.xpath("//button[contains(@id,'button5')]")).click();
    //            cad1 = driver.findElement(By.xpath("//*[contains(.,'Cra 23 no 45')]"));
    //            if(cad1!=null)
    //            {
    //                assertTrue(true);
    //            }
    //            else
    //            {
    //                assertTrue(false);
    //            }
    //            cad2 = driver.findElement(By.xpath("//*[contains(.,'Tarjeta dbito')]"));
    //            if(cad2!=null)
    //            {
    //                assertTrue(true);
    //            }
    //            else
    //            {
    //                assertTrue(false);
    //            }
}

From source file:co.edu.uniandes.csw.ClinicaDeProblemas.web.test.ClinicaDeProblemasTest.java

@Test
public void testCreateRecurso() throws Exception {

    /**// w  w  w .  ja v a  2  s  .  c o m
     * Comando que realiza click sobre el boton "create" del toolbar. La
     * funcin 'find' encuentra el control y posteriormente hace clic en el
     * mismo. La forma en la que se busca el control es utilizando
     * expresiones xPath ya que los id de los mismos nunca son iguales (se
     * generan con junto con el valor de componentId que vara).
     */
    driver.findElement(By.xpath("//button[contains(@id,'button-create')]")).click();

    /**
     * Comando que duerme el Thread del test por 2 segundos para dejar que
     * el efecto 'slide down' de backbone abra el formulario de createSport.
     */
    Thread.sleep(2000);

    /**
     * Comando que busca el elemento 'name' en el html actual.
     * Posteriormente limpia su contenido (comando clean).
     */
    driver.findElement(By.id("name")).clear();
    /**
     * Comando que simula la escritura de un valor en el elemento(sendKeys)
     * con el String de parmetro sobre // el elemento encontrado.
     */
    driver.findElement(By.id("name")).sendKeys("Recurso1");
    driver.findElement(By.id("tema")).clear();
    driver.findElement(By.id("tema")).sendKeys("tema1");
    driver.findElement(By.id("dificultad")).clear();
    driver.findElement(By.id("dificultad")).sendKeys("dificultad1");
    driver.findElement(By.id("tipo")).clear();
    driver.findElement(By.id("tipo")).sendKeys("tipo1");
    driver.findElement(By.id("semestre")).clear();
    driver.findElement(By.id("semestre")).sendKeys("201220");
    driver.findElement(By.id("materia")).clear();
    driver.findElement(By.id("materia")).sendKeys("fisica1");
    driver.findElement(By.id("Url")).clear();
    driver.findElement(By.id("Url")).sendKeys("http://url");

    driver.findElement(By.id("name")).clear();
    driver.findElement(By.id("name")).sendKeys("123123");

    /**
     * Comando que encuentra y hace clic sobre el boton "Save" del toolbar
     * (una vez mas encontrado por una expresin Xpath)
     */
    driver.findElement(By.xpath("//button[contains(@id,'button-save')]")).click();

    /**
     * Comando que duerme el thread para esperar el efecto de slide down que
     * abre la lista
     */
    Thread.sleep(2000);
    /**
     * Comando que obtiene el div azul de creacin exitosa. Si se obtiene,
     * la prueba va bien, si no, saldr un error y la prueba quedar como
     * fllida.
     */
    WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]"));
    /**
     * Comando que obtiene la tabla con el elemento que se cre
     * anteriormente.
     */
    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr"));
    boolean sucess = false;
    /**
     * Se itera sobre los elementos de la tabla para ver si el nuevo
     * elemento creado est en la lista
     */
    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));

        if (elems.get(0).getText().equals("123123") && elems.get(1).getText().equals("123123")
                && elems.get(2).getText().equals("123123")) {
            /**
             * si se encuentra la fila, la variable 'fail' pasa a true,
             * indicando que el elemento creado esta en la lista.
             */
            sucess = true;
        }

    }
    /**
     * la prueba es exitosa si se encontr el dialogo de creacin exitosa y
     * el nuevo elemento est en la lista.
     */
    assertTrue(dialog != null && sucess);
}

From source file:co.edu.uniandes.csw.ClinicaDeProblemas.web.test.ClinicaDeProblemasTest.java

@Test
public void testCreateUti() throws Exception {

    /**/*from  w  w  w.ja  v  a 2 s.c o  m*/
     * Comando que realiza click sobre el boton "create" del toolbar. La
     * funcin 'find' encuentra el control y posteriormente hace clic en el
     * mismo. La forma en la que se busca el control es utilizando
     * expresiones xPath ya que los id de los mismos nunca son iguales (se
     * generan con junto con el valor de componentId que vara).
     */
    driver.findElement(By.xpath("//button[contains(@id,'button-create')]")).click();

    /**
     * Comando que duerme el Thread del test por 2 segundos para dejar que
     * el efecto 'slide down' de backbone abra el formulario de createSport.
     */
    Thread.sleep(2000);

    /**
     * Comando que busca el elemento 'name' en el html actual.
     * Posteriormente limpia su contenido (comando clean).
     */
    driver.findElement(By.id("name")).clear();
    /**
     * Comando que simula la escritura de un valor en el elemento(sendKeys)
     * con el String de parmetro sobre // el elemento encontrado.
     */
    driver.findElement(By.id("name")).sendKeys("name");
    driver.findElement(By.id("salon")).clear();
    driver.findElement(By.id("salon")).sendKeys("Salon1");
    driver.findElement(By.id("materia")).clear();
    driver.findElement(By.id("materia")).sendKeys("materia1");
    driver.findElement(By.id("informacion")).clear();
    driver.findElement(By.id("informacion")).sendKeys("info1");

    /**
     * Comandos para llenar el campo maxAge
     */
    driver.findElement(By.id("name")).clear();
    driver.findElement(By.id("name")).sendKeys("123123");

    /**
     * Comando que encuentra y hace clic sobre el boton "Save" del toolbar
     * (una vez mas encontrado por una expresin Xpath)
     */
    driver.findElement(By.xpath("//button[contains(@id,'button-save')]")).click();

    /**
     * Comando que duerme el thread para esperar el efecto de slide down que
     * abre la lista
     */
    Thread.sleep(2000);
    /**
     * Comando que obtiene el div azul de creacin exitosa. Si se obtiene,
     * la prueba va bien, si no, saldr un error y la prueba quedar como
     * fllida.
     */
    WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]"));
    /**
     * Comando que obtiene la tabla con el elemento que se cre
     * anteriormente.
     */
    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr"));
    boolean sucess = false;
    /**
     * Se itera sobre los elementos de la tabla para ver si el nuevo
     * elemento creado est en la lista
     */
    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));

        if (elems.get(0).getText().equals("123123") && elems.get(1).getText().equals("123123")
                && elems.get(2).getText().equals("123123")) {
            /**
             * si se encuentra la fila, la variable 'fail' pasa a true,
             * indicando que el elemento creado esta en la lista.
             */
            sucess = true;
        }

    }
    /**
     * la prueba es exitosa si se encontr el dialogo de creacin exitosa y
     * el nuevo elemento est en la lista.
     */
    assertTrue(dialog != null && sucess);
}

From source file:co.edu.uniandes.csw.RigitalApp.test.CMSTest.java

@Test
public void testCrearMaquina() throws Exception {

    driver.findElement(By.xpath("//button[contains(@id,'button-create')]")).click();

    Thread.sleep(2000);//from  w ww  .j a va2 s. c  om

    driver.findElement(By.id("name")).clear();

    driver.findElement(By.id("name")).sendKeys("cms prueba");

    Thread.sleep(2000);

    driver.findElement(By.id("version")).clear();
    driver.findElement(By.id("version")).sendKeys("3.0");

    Thread.sleep(2000);

    driver.findElement(By.xpath("//button[contains(@id,'button-save')]")).click();

    Thread.sleep(2000);

    WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]"));

    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr"));
    boolean sucess = false;
    System.out.println(table);

    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));

        if (elems.get(1).getText().equals("cms prueba") && elems.get(2).getText().equals("3")) {

            sucess = true;
        }

    }
    System.out.println(sucess);

    assertTrue(dialog != null && sucess);
}

From source file:co.edu.uniandes.csw.RigitalApp.test.CMSTest.java

@Test
public void testBuscarMaquina() throws Exception {

    driver.findElement(By.xpath("//button[contains(@id,'button-search')]")).click();

    Thread.sleep(2000);/* w ww.j  a v a 2 s . c  o  m*/

    driver.findElement(By.id("btn_name")).click();

    Thread.sleep(2000);

    driver.findElement(By.id("name")).clear();

    driver.findElement(By.id("name")).sendKeys("prueba");

    Thread.sleep(2000);

    driver.findElement(By.xpath("//button[contains(@id,'button-exec-search')]")).click();

    Thread.sleep(2000);

    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr"));
    boolean success = true;

    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));
        success = success && elems.get(1).getText().contains("prueba");
    }

    assertTrue(success);
}

From source file:co.edu.uniandes.csw.RigitalApp.test.CMSTest.java

@AfterClass
public static void tearDown() throws Exception {

    driver.get(baseUrl + "/RigitalApp.web/cMS.html");
    // Se selecciona la tabla para eliminar todos sus elementos
    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr"));

    /**//  w  ww  .ja  va 2s .  co m
     * Se itera sobre los elementos de la tabla para eliminarlos
     */
    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));
        elems.get(3).findElement(By.linkText("Eliminar")).click();
        assertTrue(true);
    }

    // Se cierra el navegador.
    driver.quit();
    // Se verifica que se haya cerrado efectivamente el navegador.
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
        fail(verificationErrorString);
    }
}

From source file:co.edu.uniandes.csw.RigitalApp.test.ContenedorWebTest.java

@Test
public void testCrearMaquina() throws Exception {

    driver.findElement(By.xpath("//button[contains(@id,'button-create')]")).click();

    Thread.sleep(2000);/*from   ww w  .j  av a  2s . c o m*/

    driver.findElement(By.id("name")).clear();

    driver.findElement(By.id("name")).sendKeys("ISIS2603");

    Thread.sleep(2000);

    driver.findElement(By.id("descripcion")).clear();
    driver.findElement(By.id("descripcion")).sendKeys("Glassfish para curso de Aplicaciones");

    Thread.sleep(2000);

    driver.findElement(By.id("fechaCreacion")).clear();
    driver.findElement(By.id("fechaCreacion")).sendKeys("22/11/2014");

    Thread.sleep(2000);

    driver.findElement(By.className("onoffswitch-label")).click();

    Thread.sleep(2000);

    driver.findElement(By.id("fechaVencimiento")).clear();
    driver.findElement(By.id("fechaVencimiento")).sendKeys("20/02/2015");

    Thread.sleep(2000);

    driver.findElement(By.id("puertos")).clear();
    driver.findElement(By.id("puertos")).sendKeys("Puerto de administracin 4234 y puerto de escucha 8080");

    Thread.sleep(2000);

    driver.findElement(By.id("servidor")).clear();
    driver.findElement(By.id("servidor")).sendKeys("157.253.245.39");

    Thread.sleep(2000);

    driver.findElement(By.id("url")).clear();
    driver.findElement(By.id("url")).sendKeys("157.253.353.23:8080");

    Thread.sleep(2000);

    driver.findElement(By.xpath("//button[contains(@id,'button-save')]")).click();

    Thread.sleep(2000);

    WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]"));

    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr"));
    boolean sucess = false;
    System.out.println(table);

    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));

        if (elems.get(1).getText().equals("ISIS2603") && elems.get(2).getText().equals("22/11/2014")
                && elems.get(3).getText().equals("true")) {

            sucess = true;
        }

    }
    System.out.println(sucess);

    assertTrue(dialog != null && sucess);
}

From source file:co.edu.uniandes.csw.RigitalApp.test.ContenedorWebTest.java

@Test
public void testDesactivarMaquina() throws Exception {

    Thread.sleep(2000);/*w ww .  ja  va2  s .  c o  m*/

    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr"));

    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));
        if (elems.get(3).getText().equals("true")) {
            elems.get(0).findElement(By.tagName("input")).click();
        }
    }
    Thread.sleep(2000);
    driver.findElement(By.xpath("//button[contains(@id,'button-desactivar')]")).click();

    driver.get(baseUrl + "/RigitalApp.web/contenedorWeb.html");
    Thread.sleep(2000);
    List<WebElement> table2 = driver
            .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr"));
    boolean def = true;
    for (WebElement webElement : table2) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));
        String val = elems.get(3).getText();
        boolean temp = !val.equals("true");
        System.out.println(temp);
        def = def && temp;
    }
    Thread.sleep(4000);
    assertTrue(def);
}

From source file:co.edu.uniandes.csw.RigitalApp.test.ContenedorWebTest.java

@Test
public void testBuscarMaquina() throws Exception {

    driver.findElement(By.xpath("//button[contains(@id,'button-search')]")).click();

    Thread.sleep(2000);//  w  w  w  .j  a v a 2s. c  o m

    driver.findElement(By.id("btn_name")).click();

    Thread.sleep(2000);

    driver.findElement(By.id("name")).clear();

    driver.findElement(By.id("name")).sendKeys("ISIS");

    Thread.sleep(2000);

    driver.findElement(By.id("btn_tableDestruido")).click();

    Thread.sleep(2000);

    driver.findElement(By.id("destruido")).click();

    Thread.sleep(2000);

    driver.findElement(By.xpath("//button[contains(@id,'button-exec-search')]")).click();

    Thread.sleep(2000);

    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr"));
    boolean success = true;

    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));
        success = success && elems.get(1).getText().contains("ISIS");
    }

    assertTrue(success);
}

From source file:co.edu.uniandes.csw.RigitalApp.test.ContenedorWebTest.java

@AfterClass
public static void tearDown() throws Exception {

    driver.get(baseUrl + "/RigitalApp.web/contenedorWeb.html");
    // Se selecciona la tabla para eliminar todos sus elementos
    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr"));

    /**/*from  ww w .  j a v a  2s.com*/
     * Se itera sobre los elementos de la tabla para eliminarlos
     */
    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));
        elems.get(5).findElement(By.linkText("Eliminar")).click();
        assertTrue(true);
    }

    // Se cierra el navegador.
    driver.quit();
    // Se verifica que se haya cerrado efectivamente el navegador.
    String verificationErrorString = verificationErrors.toString();
    if (!"".equals(verificationErrorString)) {
        fail(verificationErrorString);
    }
}