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:ProveedorTest.java

@Test
public void testListProveedores() throws Exception {
    /**//from www. j  a  va 2 s  . com
     * Se crea un deporte con el test createSport
     */
    testCreateProveedor();
    String name = "Nombresito";
    String email = "test@test.com";
    String telefono = "1231235";
    String direccion = "carrera 1 con calle 2";
    String observaciones = "jejejejejeje";
    /**
     * 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(email)
                && elems.get(2).getText().equals(telefono) && elems.get(3).getText().equals(direccion)
                && elems.get(4).getText().equals(observaciones)) {
            fail = true;
        }

    }
    assertTrue(fail);
}

From source file:JUnitTestClass.java

@Test
public void Test_Buttons_XPath() throws Exception {
    driver.findElement(By.xpath("//div[2]/p[2]/button")).click();
    driver.findElement(By.xpath("//div[3]/p[2]/button")).click();
    driver.findElement(By.xpath("//div[4]/p[2]/button")).click();
}

From source file:JUnitTestClass.java

@Test
public void Test_Radio_Buttons_XPath() throws Exception {
    driver.findElement(By.xpath("(//input[@name='gender'])[2]")).click(); // Female
    driver.findElement(By.xpath("(//input[@name='gender'])[6]")).click(); // Other
    driver.findElement(By.xpath("(//input[@name='gender'])[8]")).click(); // Female
    driver.findElement(By.xpath("(//input[@name='gender'])[10]")).click(); // Male
}

From source file:JUnitTestClass.java

@Test
public void Assert_Text() throws Exception {
    // Breaking down the selection process.

    // By xpath, id, classname, name, css, etc ...
    By locator = By.xpath("//div[5]/div/p[3]");

    // Stored in webelement.
    WebElement element = driver.findElement(locator);

    // Storing the target text.
    String text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed augue tellus, consectetur sed ante ut, tincidunt convallis nunc.";

    // Asserting they are the same.
    assertEquals(text, element.getText());
}

From source file:InventarioTest.java

@Test
public void testCreateProveedor() throws Exception {

    /**/*from ww w  .ja v  a2 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,'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);

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

@Test
public void testUpdateProveedor() throws Exception {

    /**//from  ww w  .  j av a  2s  .  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.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)) {
            fail = true;
        }

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

From source file:InventarioTest.java

@Test
public void testDeleteProveedor() throws Exception {
    /**//from w ww  .j  a  v  a2 s. co  m
     * 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)) {
                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:InventarioTest.java

@Test
public void testListProveedores() throws Exception {
    /**// ww  w.  j av a 2s.  c om
     * 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)) {
            fail = true;
        }

    }
    assertTrue(fail);
}

From source file:OrdenFabricacionTest.java

@Test
public void testCreateProveedor() throws Exception {

    /**/*from   w ww.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,'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("nombreProducto")).clear();
    driver.findElement(By.id("nombreProducto")).sendKeys(nombreProducto1);

    /**
     * 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(nombreProducto1)) {
            /**
             * 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:OrdenFabricacionTest.java

@Test
public void testUpdateProveedor() throws Exception {

    /**//from  ww w. j  a  v  a 2  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("nombreProducto")).clear();
    driver.findElement(By.id("nombreProducto")).sendKeys(nombreProducto2);

    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(nombreProducto2)) {
            fail = true;
        }

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