Example usage for org.openqa.selenium By id

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

Introduction

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

Prototype

public static By id(String id) 

Source Link

Usage

From source file:OrdenDespachoTest.java

@Test
public void testCreateProveedor() throws Exception {

    /**//from   w  ww .  j a 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("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 {

    /**/*  w w  w.j a  va2 s .  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(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:WebTestSelenium8.java

public void testIsEnabled() {
    assertEquals(driver.findElement(By.id("header")).isEnabled(), true);
}

From source file:WebTestSelenium8.java

public void testIsSelected() {
    assertEquals(driver.findElement(By.id("cboxTitle")).isSelected(), false);
}

From source file:ProductoTest.java

@Test
public void testCreateProveedor() throws Exception {

    /**//w  w  w .j a v a 2s  . 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);

    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 a  v 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:SmokeTester_UnitTest.java

public void executeSmokeTest() throws Exception {
    // Create a new instance of the Firefox driver
    // Notice that the remainder of the code relies on the interface, 
    // not the implementation.

    System.setProperty("webdriver.chrome.driver", "C:\\Nino\\ChromeWebDriver\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();

    TestCaseReader tcreader = new TestCaseReader();
    List<TestScriptTemplate> tcl = tcreader.readExcel();

    List<TestScriptTemplate> validatedTestScript = new ArrayList();

    String log_execution = "";
    Iterator<TestScriptTemplate> i = tcl.iterator();
    while (i.hasNext()) {
        TestScriptTemplate testscript = i.next();
        //collect the results
        TestScriptTemplate testexecution = new TestScriptTemplate();

        testexecution.setAppCode(testscript.getAppCode());
        log_execution = log_execution + "\nStart smoke testing for application code: "
                + testexecution.getAppCode();

        //access the URL
        driver.get(testscript.getAppURL());

        //login if not yet
        if (driver.getCurrentUrl().contains("identity.safeway.com")) {
            //key in userid and password
            WebElement weusername = driver.findElement(By.id("username"));
            //System.out.println("tag:" + weusername.getTagName());
            weusername.sendKeys(testscript.getAppUserID());

            WebElement wepassword = driver.findElement(By.id("password"));
            //System.out.println("tag:" + wepassword.getTagName());
            wepassword.sendKeys(testscript.getAppPassword());

            WebElement weloginform = driver.findElement(By.name("loginData"));
            //System.out.println("tag:" + weloginform.getTagName());
            weloginform.submit();/*from   w ww  .  j  a v  a 2s  . c o m*/
            log_execution = log_execution + " Login Successful";
        }

        //recoding URL; required so no need to check for nullity
        testexecution.setAppURL(driver.getCurrentUrl());
        log_execution = log_execution + " Current URL: " + driver.getCurrentUrl();
        //recoding title; required so no need to check for nullity
        testexecution.setHomePageTitle(driver.getTitle());
        log_execution = log_execution + " Page Title: " + driver.getTitle();

        if (isElementExist(testscript.getHomePageElementType(), testscript.getHomePageElement(), driver)) {
            System.out.println("Element match!" + testscript.getHomePageElement());
            log_execution = log_execution + " Home Page Element validation...";
            testexecution.setHomePageElement(testscript.getHomePageElement());
        } else {
            testexecution.setHomePageElement("not found");
        }

        //next page validation
        if (!testscript.getLevel1URL().isEmpty() || !testscript.getLevel1URL().equals("")) {
            //go to next level page
            driver.get(testscript.getLevel1URL());
            log_execution = log_execution + " Next Page validation URL: " + testscript.getLevel1URL();

            testexecution.setLevel1URL(driver.getCurrentUrl());
            System.out.println("execution log: current level 1 URL on set" + testexecution.getLevel1URL());

            if (!testscript.getLevel1PageTitle().isEmpty() || !testscript.getLevel1PageTitle().equals("")) {
                testexecution.setLevel1PageTitle(driver.getTitle());
                log_execution = log_execution + " Next Page title validation: " + driver.getTitle();
            }

            if (isElementExist(testscript.getLevel1ElementType(), testscript.getLevel1Element(), driver)) {
                testexecution.setLevel1Element(testscript.getLevel1Element());
                log_execution = log_execution + " Next Page element validation: "
                        + testscript.getLevel1Element();
            } else {
                testexecution.setLevel1Element("not found");
            }

        }
        testexecution.setLogs(log_execution);
        SmokeTestValidator_UnitTest testvalidator = new SmokeTestValidator_UnitTest(testscript);
        TestScriptTemplate testingresult = testvalidator.getTestResult(testexecution);
        validatedTestScript.add(testingresult);

    }

    tcreader.writetoExcel(validatedTestScript);
    //Close the browser
    driver.quit();
    //return log_execution;
}

From source file:SmokeTester_UnitTest.java

private boolean isElementExist(String elementyype, String elementtosearch, WebDriver driver) {
    System.out.println("input for isElementExist: " + elementyype + "-" + elementtosearch);
    if (elementyype.compareToIgnoreCase("class") == 0) {
        try {// w w w.ja va2s  .co m
            driver.findElement(By.className(elementtosearch));
            return true;
        } catch (org.openqa.selenium.NoSuchElementException nse) {
            return false;
        }
    }
    if (elementyype.compareToIgnoreCase("xpath") == 0) {
        try {
            driver.findElement(By.xpath(elementtosearch));
            return true;
        } catch (org.openqa.selenium.NoSuchElementException nse) {
            return false;
        }
    }

    if (elementyype.compareToIgnoreCase("id") == 0) {
        try {
            driver.findElement(By.id(elementtosearch));
            return true;
        } catch (org.openqa.selenium.NoSuchElementException nse) {
            return false;
        }
    }

    return true;
}

From source file:WebTestSelenium4.java

public void testTagNameById() {
    assertEquals(driver.findElement(By.id("page")).getTagName(), "div");
}

From source file:WebTestSelenium4.java

public void testIsEnabled() {
    assertEquals(driver.findElement(By.id("page")).isEnabled(), true);
}