Example usage for org.openqa.selenium WebElement findElements

List of usage examples for org.openqa.selenium WebElement findElements

Introduction

In this page you can find the example usage for org.openqa.selenium WebElement findElements.

Prototype

@Override
List<WebElement> findElements(By by);

Source Link

Document

Find all elements within the current context using the given mechanism.

Usage

From source file:DataLoadedTest.java

@Test
public void isDataLoadedTest() {
    WebElement table = driver.findElement(By.id("tbodycars"));
    List<WebElement> tableRows = table.findElements(By.tagName("tr"));
    // There should be five rows of data.
    assertThat(tableRows.size(), is(5));
}

From source file:SortingCarsTest.java

@Test
public void sortingCarsTest() {
    WebElement sortByYear = driver.findElement(By.id("h_year"));
    sortByYear.click();/*  w  ww .  j a  va 2 s. c om*/
    // The table should by now have rendered and cars switched position
    WebElement tableOfCars = driver.findElement(By.id("tbodycars"));
    List<WebElement> sortedCars = tableOfCars.findElements(By.tagName("tr"));
    final String firstCar = sortedCars.get(0).findElements(By.tagName("td")).get(0).getText();
    final String lastCar = sortedCars.get(4).findElements(By.tagName("td")).get(0).getText();
    assertThat(firstCar, is("938"));
    assertThat(lastCar, is("940"));
}

From source file:OrdenDespachoTest.java

@Test
public void testCreateProveedor() throws Exception {

    /**/*from  www  .  ja  v  a2  s .c  om*/
     * 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,'createButton')]")).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(name1);

    //Comandos para llenar el campo fecha
    driver.findElement(By.id("fecha")).clear();
    driver.findElement(By.id("fecha")).sendKeys(fecha1);

    //Comando para seleccionar el checkbox
    //       driver.findElement(By.id("esPerecedero")).click();

    /**
     * Comandos para llenar el campo cantidad
     */
    driver.findElement(By.id("cantidad")).clear();
    driver.findElement(By.id("cantidad")).sendKeys(cantidad1);

    /**
     * Comandos para llenar el campo ESTADO
     */
    driver.findElement(By.id("estado")).clear();
    driver.findElement(By.id("estado")).sendKeys(estado1);

    /**
     * Comandos para llenar el campo nombreProducto
     */
    driver.findElement(By.id("nombreItem")).clear();
    driver.findElement(By.id("nombreItem")).sendKeys(nombreItem1);

    /**
     * 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,'saveButton')]")).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(name1)
                && Integer.parseInt(
                        elems.get(1).getText().split("/")[0]) == (Integer.parseInt(fecha1.split("/")[0]))
                && Integer.parseInt(
                        elems.get(1).getText().split("/")[1]) == (Integer.parseInt(fecha1.split("/")[1]))
                && Integer.parseInt(
                        elems.get(1).getText().split("/")[2]) == (Integer.parseInt(fecha1.split("/")[2]))
                && elems.get(2).getText().equals(cantidad1) && elems.get(3).getText().equals(estado1)
                && elems.get(4).getText().equals(nombreItem1)) {
            /**
             * 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:OrdenDespachoTest.java

@Test
public void testUpdateProveedor() throws Exception {

    /**//from   w ww  . j  a  va2  s .  c om
     * Se hace clic en el vinculo "Edit" del primer elemento de la lista de
     * sports
     */
    driver.findElement(By.linkText("Editar")).click();
    Thread.sleep(2000);
    /**
     * Se realiza el mismo proceso de diligenciamento de los campos con los
     * cambios
     */
    driver.findElement(By.id("name")).clear();
    driver.findElement(By.id("name")).sendKeys(name2);
    driver.findElement(By.id("fecha")).clear();
    driver.findElement(By.id("fecha")).sendKeys(fecha2);
    driver.findElement(By.id("cantidad")).clear();
    driver.findElement(By.id("cantidad")).sendKeys(cantidad2);
    driver.findElement(By.id("estado")).clear();
    driver.findElement(By.id("estado")).sendKeys(estado2);
    driver.findElement(By.id("nombreItem")).clear();
    driver.findElement(By.id("nombreItem")).sendKeys(nombreItem2);

    driver.findElement(By.xpath("//button[contains(@id,'saveButton')]")).click();
    Thread.sleep(2000);
    /**
     * Se verifica que en la lista de respuesta hallan aparecido los cambios
     * en el elemento y tambin el mensaje de edicin exitosa.
     */
    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 fail = false;
    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));

        if (elems.get(0).getText().equals(name2)
                && Integer.parseInt(
                        elems.get(1).getText().split("/")[0]) == (Integer.parseInt(fecha2.split("/")[0]))
                && Integer.parseInt(
                        elems.get(1).getText().split("/")[1]) == (Integer.parseInt(fecha2.split("/")[1]))
                && Integer.parseInt(
                        elems.get(1).getText().split("/")[2]) == (Integer.parseInt(fecha2.split("/")[2]))
                && elems.get(2).getText().equals(cantidad2) && elems.get(3).getText().equals(estado2)
                && elems.get(4).getText().equals(nombreItem2)) {
            fail = true;
        }

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

From source file:OrdenDespachoTest.java

@Test
public void testDeleteProveedor() throws Exception {
    /**/*from w  w  w  .j a v  a 2  s. c  om*/
     * Se hace clic en el vinculo "Delete" del primer elemento de la lista
     * de sports
     */
    driver.findElement(By.linkText("Eliminar")).click();
    Thread.sleep(2000);
    /**
     * Se verifica que en la lista el elemento halla desaparecido. Si
     * existe, hubo un error.
     */
    try {
        List<WebElement> table = driver
                .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr"));
        boolean fail = false;

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

            if (elems.get(0).getText().equals(name2)
                    && Integer.parseInt(
                            elems.get(1).getText().split("/")[0]) == (Integer.parseInt(fecha2.split("/")[0]))
                    && Integer.parseInt(
                            elems.get(1).getText().split("/")[1]) == (Integer.parseInt(fecha2.split("/")[1]))
                    && Integer.parseInt(
                            elems.get(1).getText().split("/")[2]) == (Integer.parseInt(fecha2.split("/")[2]))
                    && elems.get(2).getText().equals(cantidad2) && elems.get(3).getText().equals(estado2)
                    && elems.get(4).getText().equals(nombreItem2)) {
                fail = true;
            }

        }

        WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]"));
        assertTrue(dialog != null && !fail);
    } catch (Exception e) {
        assertTrue(true);
    }

}

From source file:OrdenDespachoTest.java

@Test
public void testListProveedores() throws Exception {
    /**//w w  w.  ja v  a2s  .  com
     * Se crea un deporte con el test createSport
     */
    testCreateProveedor();

    /**
     * Se hace clic en el botn "refresh" del toolbar para obtener la lista.
     */
    driver.findElement(By.xpath("//button[contains(@id,'refreshButton')]")).click();
    Thread.sleep(2000);
    /**
     * Se verifica que el elemento creado anteriormente existe en la lista.
     */
    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr"));
    boolean fail = false;
    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));

        if (elems.get(0).getText().equals(name1)
                && Integer.parseInt(
                        elems.get(1).getText().split("/")[0]) == (Integer.parseInt(fecha1.split("/")[0]))
                && Integer.parseInt(
                        elems.get(1).getText().split("/")[1]) == (Integer.parseInt(fecha1.split("/")[1]))
                && Integer.parseInt(
                        elems.get(1).getText().split("/")[2]) == (Integer.parseInt(fecha1.split("/")[2]))
                && elems.get(2).getText().equals(cantidad1) && elems.get(3).getText().equals(estado1)
                && elems.get(4).getText().equals(nombreItem1)) {
            fail = true;
        }

    }
    assertTrue(fail);
}

From source file:ProductoTest.java

@Test
public void testCreateProveedor() throws Exception {

    /**/*from w  w w.  j  a v a 2 s  . co  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,'createButton')]")).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);

    String name = "AAAAAA";
    String tipo = "BBBBBB";
    String precioPromedio = "111111";
    String tiempoPromedio = "222222";
    String cantidadPromedio = "333333";
    String minimoNivelInventario = "4444444";
    /**
     * 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);

    //Comandos para llenar el campo tipo
    driver.findElement(By.id("tipo")).clear();
    driver.findElement(By.id("tipo")).sendKeys(tipo);

    //Comando para seleccionar el checkbox
    //       driver.findElement(By.id("esPerecedero")).click();

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

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

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

    /**
     * Comandos para llenar el campo minimoNivelInventario
     */
    driver.findElement(By.id("minimoNivelInventario")).clear();
    driver.findElement(By.id("minimoNivelInventario")).sendKeys(minimoNivelInventario);
    /**
     * 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,'saveButton')]")).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(name) && elems.get(1).getText().equals(tipo)
        //&& elems.get(2).getText().equals("1")
                && elems.get(3).getText().equals(precioPromedio)
                && elems.get(4).getText().equals(tiempoPromedio)
                && elems.get(5).getText().equals(cantidadPromedio)
                && elems.get(6).getText().equals(minimoNivelInventario))

        {
            /**
             * 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:ProductoTest.java

@Test
public void testUpdateProveedor() throws Exception {

    String name = "ZZZZZZ";
    String tipo = "YYYYYY";
    String precioPromedio = "9999999";
    String tiempoPromedio = "8888888";
    String cantidadPromedio = "77777777";
    String minimoNivelInventario = "66666666";

    /**//from w ww  . j  av  a  2s.  c  o  m
     * Se hace clic en el vinculo "Edit" del primer elemento de la lista de
     * sports
     */
    driver.findElement(By.linkText("Editar")).click();
    Thread.sleep(2000);
    /**
     * Se realiza el mismo proceso de diligenciamento de los campos con los
     * cambios
     */
    driver.findElement(By.id("name")).clear();
    driver.findElement(By.id("name")).sendKeys(name);
    driver.findElement(By.id("tipo")).clear();
    driver.findElement(By.id("tipo")).sendKeys(tipo);
    //        driver.findElement(By.id("esPerecedero")).clear();
    //        driver.findElement(By.id("esPerecedero")).sendKeys("1");
    driver.findElement(By.id("precioPromedio")).clear();
    driver.findElement(By.id("precioPromedio")).sendKeys(precioPromedio);
    driver.findElement(By.id("tiempoPromedio")).clear();
    driver.findElement(By.id("tiempoPromedio")).sendKeys(tiempoPromedio);
    driver.findElement(By.id("cantidadPromedio")).clear();
    driver.findElement(By.id("cantidadPromedio")).sendKeys(cantidadPromedio);
    driver.findElement(By.id("minimoNivelInventario")).clear();
    driver.findElement(By.id("minimoNivelInventario")).sendKeys(minimoNivelInventario);

    driver.findElement(By.xpath("//button[contains(@id,'saveButton')]")).click();
    Thread.sleep(2000);
    /**
     * Se verifica que en la lista de respuesta hallan aparecido los cambios
     * en el elemento y tambin el mensaje de edicin exitosa.
     */
    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 fail = false;
    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));

        if (elems.get(0).getText().equals(name) && elems.get(1).getText().equals(tipo)
        //&& elems.get(2).getText().equals("1")
                && elems.get(3).getText().equals(precioPromedio)
                && elems.get(4).getText().equals(tiempoPromedio)
                && elems.get(5).getText().equals(cantidadPromedio)
                && elems.get(6).getText().equals(minimoNivelInventario)) {
            fail = true;
        }

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

From source file:ProductoTest.java

@Test
public void testDeleteProveedor() throws Exception {
    /**/*from  w ww.  j a va 2 s .c om*/
     * Se hace clic en el vinculo "Delete" del primer elemento de la lista
     * de sports
     */
    driver.findElement(By.linkText("Eliminar")).click();
    Thread.sleep(2000);
    /**
     * Se verifica que en la lista el elemento halla desaparecido. Si
     * existe, hubo un error.
     */
    try {
        List<WebElement> table = driver
                .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr"));
        boolean fail = false;
        String name = "ZZZZZZ";
        String tipo = "YYYYYY";
        String precioPromedio = "9999999";
        String tiempoPromedio = "8888888";
        String cantidadPromedio = "77777777";
        String minimoNivelInventario = "66666666";
        for (WebElement webElement : table) {
            List<WebElement> elems = webElement.findElements(By.xpath("td"));

            if (elems.get(0).getText().equals(name) && elems.get(1).getText().equals(tipo)
            //&& elems.get(2).getText().equals("1")
                    && elems.get(3).getText().equals(precioPromedio)
                    && elems.get(4).getText().equals(tiempoPromedio)
                    && elems.get(5).getText().equals(cantidadPromedio)
                    && elems.get(6).getText().equals(minimoNivelInventario)) {
                fail = true;
            }

        }

        WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]"));
        assertTrue(dialog != null && !fail);
    } catch (Exception e) {
        assertTrue(true);
    }

}

From source file:ProductoTest.java

@Test
public void testListProveedores() throws Exception {
    /**//  w  ww  .j  ava2s .c o m
     * Se crea un deporte con el test createSport
     */
    testCreateProveedor();
    String name = "AAAAAA";
    String tipo = "BBBBBB";
    String precioPromedio = "111111";
    String tiempoPromedio = "222222";
    String cantidadPromedio = "333333";
    String minimoNivelInventario = "4444444";
    /**
     * Se hace clic en el botn "refresh" del toolbar para obtener la lista.
     */
    driver.findElement(By.xpath("//button[contains(@id,'refreshButton')]")).click();
    Thread.sleep(2000);
    /**
     * Se verifica que el elemento creado anteriormente existe en la lista.
     */
    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr"));
    boolean fail = false;
    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));

        if (elems.get(0).getText().equals(name) && elems.get(1).getText().equals(tipo)
        //&& elems.get(2).getText().equals("1")
                && elems.get(3).getText().equals(precioPromedio)
                && elems.get(4).getText().equals(tiempoPromedio)
                && elems.get(5).getText().equals(cantidadPromedio)
                && elems.get(6).getText().equals(minimoNivelInventario)) {
            fail = true;
        }

    }
    assertTrue(fail);
}