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:co.edu.uniandes.csw.RigitalApp.test.WikiTest.java

@Test
public void testBuscarWiki() throws Exception {

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

    Thread.sleep(2000);//www  .j  av  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("Wiki");

    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;

    /**
     * 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"));
        System.out.println("nombre: " + elems.get(1).getText() + " fecha: " + elems.get(2).getText());
        success = success && elems.get(1).getText().equals("Wiki");
    }
    /**
     * la prueba es exitosa si se encontr el dialogo de creacin exitosa y
     * el nuevo elemento est en la lista.
     */
    assertTrue(success);
}

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

@AfterClass
public static void tearDown() throws Exception {

    // 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  .jav a  2s.c  om*/
     * 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);
    }
}

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

@Test
public void testCrearMaquina() throws Exception {

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

    Thread.sleep(2000);/*from w w w . j  a v a2  s .co m*/

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

    driver.findElement(By.id("name")).sendKeys("BI-DB2IM");

    Thread.sleep(2000);

    driver.findElement(By.id("duenio")).clear();
    driver.findElement(By.id("duenio")).sendKeys("Diego Roa");

    Thread.sleep(2000);

    driver.findElement(By.id("destino")).clear();
    driver.findElement(By.id("destino")).sendKeys("Waira 1 y Waira 2");

    Thread.sleep(2000);

    driver.findElement(By.id("sistemaOperativo")).clear();
    driver.findElement(By.id("sistemaOperativo")).sendKeys("Windows Server 2008 R2");

    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("BI-DB2IM") && elems.get(2).getText().equals("Diego Roa")) {

            sucess = true;
        }

    }
    System.out.println(sucess);

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

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

@Test
public void testBuscarMaquina() throws Exception {

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

    Thread.sleep(2000);//from w w  w.  j  a  v a2  s  .  c om

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

    Thread.sleep(2000);

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

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

    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("DB2IM");
    }

    assertTrue(success);
}

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

@AfterClass
public static void tearDown() throws Exception {

    driver.get(baseUrl + "/RigitalApp.web/workstation.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  w ww .j  a v a 2  s.c om
     * 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.sport.master.test.SportMasterTest.java

@Test
public void testCreateUserMaster() throws Exception {

    /**// w  w  w .ja va 2  s  .  c  o  m
    * Comando que realiza click sobre el boton "create" del toolbar del maestro. 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[@class='btn btn-default dropdown-toggle']")).click();
    Thread.sleep(1000);
    String User = "User Master";
    driver.findElement(By.xpath("//a[contains(text(),'" + User + "')]")).click();
    Thread.sleep(3000);
    //Es necesario cambiar de iframe :)
    driver.switchTo().frame(driver.findElement(By.id("container")));
    driver.findElement(By.xpath("//button[contains(@id,'createButton')]")).click();
    Thread.sleep(2000);
    dataUser = InitializeDataUserMaster.generateUser();
    driver.findElement(By.id("userName")).clear();
    driver.findElement(By.id("userName")).sendKeys(dataUser.getUserName());
    driver.findElement(By.id("firstName")).clear();
    driver.findElement(By.id("firstName")).sendKeys(dataUser.getFirstName());
    driver.findElement(By.id("lastName")).clear();
    driver.findElement(By.id("lastName")).sendKeys(dataUser.getLastName());
    driver.findElement(By.id("docNumber")).clear();
    driver.findElement(By.id("docNumber")).sendKeys(dataUser.getDocNumber());
    String Address = "Address";
    driver.findElement(By.xpath("//a[contains(text(),'" + Address + "')]")).click();
    Thread.sleep(2500);
    //*[@id="93-createButton"] /html/body/div[1]/div[2]/div/div[1]/div[1]/nav/div[2]/form/button
    driver.findElement(By.xpath("/html/body/div[1]/div[2]/div/div[1]/div[1]/nav/div[2]/form/button")).click();
    dataAddress = InitializeDataUserMaster.generateAddress();
    Thread.sleep(2000);
    driver.findElement(By.id("street")).clear();
    driver.findElement(By.id("street")).sendKeys(dataAddress.getStreet());
    driver.findElement(By.id("aveneu")).clear();
    driver.findElement(By.id("aveneu")).sendKeys(dataAddress.getAveneu());
    driver.findElement(By.xpath("/html/body/div[1]/div[2]/div/div[1]/div[1]/nav/div[2]/form/button[2]"))
            .click();
    Thread.sleep(2000);
    driver.findElement(By.xpath("//button[contains(@id,'saveButton')]")).click();
    Thread.sleep(2000);
    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr"));
    boolean success = false;
    for (WebElement webElement : table) {
        List<WebElement> elems = webElement.findElements(By.xpath("td"));
        if (elems.get(0).getText().equals(dataUser.getUserName())
                && elems.get(1).getText().equals(dataUser.getFirstName())) {
            success = true;
        }
    }

    assertTrue(success);
}

From source file:co.edu.uniandes.csw.sport.master.test.SportMasterTest.java

@Test
public void testEditAddress() throws Exception {

    driver.get(baseUrl + "/sport.web/userMaster.html");
    Thread.sleep(2000);/* w  w w  .j  a va  2 s  .c  o  m*/
    List<WebElement> table = driver
            .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr"));
    if (table.size() > 0) {
        //Trae el ultimo elemento fila y hace click
        driver.findElements(By.linkText("Edit")).get(driver.findElements(By.linkText("Edit")).size() - 1)
                .click();
        Thread.sleep(2000);
        String Address = "Address";
        driver.findElement(By.xpath("//a[contains(text(),'" + Address + "')]")).click();
        Thread.sleep(2500);
        //El mock no esta guardando el detalle address
        driver.findElement(By.xpath("/html/body/div[1]/div[2]/div/div[1]/div[3]/div/table/tbody/tr/td[4]/a[1]"))
                .click();//create       

        dataAddress = InitializeDataUserMaster.generateAddress();
        Thread.sleep(2000);
        driver.findElement(By.id("street")).clear();
        driver.findElement(By.id("street")).sendKeys(dataAddress.getStreet());
        driver.findElement(By.id("aveneu")).clear();
        driver.findElement(By.id("aveneu")).sendKeys(dataAddress.getAveneu());
        driver.findElement(By.xpath("/html/body/div[1]/div[2]/div/div[1]/div[1]/nav/div[2]/form/button[2]"))
                .click();//save
        Thread.sleep(2000);
        List<WebElement> tables = driver
                .findElements(By.xpath("/html/body/div[1]/div[2]/div/div[1]/div[3]/div/table/tbody/tr"));

        boolean success = false;
        for (WebElement webElement : tables) {
            List<WebElement> elems = webElement.findElements(By.xpath("td"));
            if (elems.get(0).getText().equals(dataAddress.getStreet())
                    && elems.get(1).getText().equals(dataAddress.getAveneu())) {
                success = true;
            }
        }

        driver.findElement(By.xpath("//button[contains(@id,'saveButton')]")).click();
        Thread.sleep(2000);

        assertTrue(success);

    }
}

From source file:co.edu.uniandes.csw.sport.master.test.SportMasterTest.java

/**
 * CreateUserSport-> Crea un nuevo User y le asocia varios elementos sport
 * /*from  www.jav  a 2s .  c o m*/
 */
@Test
public void createUserSport() throws Exception {

    Thread.sleep(2000);

    driver.get(baseUrl + "/sport.web/userMaster.html");
    Thread.sleep(5000);
    driver.findElement(By.xpath("//button[contains(@id,'createButton')]")).click();
    Thread.sleep(2000);
    driver.findElement(By.id("userName")).clear();
    driver.findElement(By.id("userName")).sendKeys("nombre");
    driver.findElement(By.id("firstName")).clear();
    driver.findElement(By.id("firstName")).sendKeys("nombre1");
    driver.findElement(By.id("lastName")).clear();
    driver.findElement(By.id("lastName")).sendKeys("nombre2");
    //HREF indicando el tab de detalle a seleccionar
    driver.findElement(By.xpath("//a[contains(@href,'sport')]")).click();
    Thread.sleep(2000);
    driver.findElement(By.xpath("//button[contains(@id,'addButton')]")).click();
    //Toma todos los webElement cuyo id sea "selection" y de tipo checkbox.
    List<WebElement> lst = driver
            .findElements(By.xpath("//input[contains(@id,'selection')][@type='checkbox']"));
    for (WebElement lst1 : lst) {
        if (!lst1.isSelected()) {
            lst1.click(); // Si no esta seleccionado hace click en el checkbox, agrega todos los deportes existentes
        }
    }
    driver.findElement(By.id("addButton")).click();
    List<WebElement> tables = driver.findElement(By.xpath("//div[contains(@id,'sport')]"))
            .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr"));
    if (tables.size() != lst.size()) {
        fail();
    }
    driver.findElement(By.xpath("//button[contains(@id,'saveButton')]")).click();
    Thread.sleep(3000);
    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("nombre") && elems.get(1).getText().equals("nombre1")) {
            fail = true;
        }
    }
    assertTrue(fail);
}

From source file:co.edu.uniandes.csw.sport.master.test.SportMasterTest.java

/**
 * editUserSport-> Edita un User existente que tiene varios sports asociados. 1. Elimina todos los elementos sports asociados 2. Agrega varios sports 3. Verfica que el objeto haya sido actualizado
 * /*from ww w  .  j a  v a2 s  .  c  om*/
 */
@Test
public void editUserSport() throws Exception {

    driver.get(baseUrl + "/sport.web/userMaster.html");
    driver.findElements(By.linkText("Edit")).get(driver.findElements(By.linkText("Edit")).size() - 1).click();
    Thread.sleep(2000);
    driver.findElement(By.id("userName")).clear();
    driver.findElement(By.id("userName")).sendKeys("nombre1mod");
    driver.findElement(By.id("firstName")).clear();
    driver.findElement(By.id("firstName")).sendKeys("nombre2mod");
    driver.findElement(By.xpath("//a[contains(@href,'sport')]")).click();
    Thread.sleep(2000);
    List<WebElement> tables = driver
            .findElements(By.xpath("/html/body/div[1]/div[2]/div/div[2]/div[3]/div/table/tbody/tr"));
    SportDTO sport;
    Thread.sleep(2000);
    for (WebElement table : tables) {
        driver.findElements(By.linkText("Delete")).get(driver.findElements(By.linkText("Delete")).size() - 1)
                .click();
        Thread.sleep(2000);
    }

    driver.findElement(By.xpath("//button[contains(@id,'addButton')]")).click();
    List<WebElement> lst = driver
            .findElements(By.xpath("//input[contains(@id,'selection')][@type='checkbox']"));
    for (WebElement lst1 : lst) {
        if (!lst1.isSelected()) {
            lst1.click();
        }
    }
    driver.findElement(By.id("addButton")).click();
    Thread.sleep(2000);
    driver.findElement(By.xpath("//button[contains(@id,'saveButton')]")).click();
    Thread.sleep(3000);
    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("nombre1mod") && elems.get(1).getText().equals("nombre2mod")) {
            fail = true;
        }
    }
    assertTrue(fail);
}

From source file:co.edu.uniandes.csw.sport.master.test.SportMasterTest.java

/**
 * deleteUserSport->Hace clic en el vinculo "Delete" del primer elemento de la lista
 * de sports//from  ww w.j  a v  a  2 s  . c o m
 */
@Test
public void deleteUserSport() throws Exception {

    driver.get(baseUrl + "/sport.web/userMaster.html");
    driver.findElement(By.linkText("Delete")).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("nombre")) {
                fail = true;
            }
        }
        WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]"));
        assertTrue(dialog != null && !fail);
    } catch (Exception e) {
        assertTrue(true);
    }
}