Example usage for org.openqa.selenium By tagName

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

Introduction

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

Prototype

public static By tagName(String tagName) 

Source Link

Usage

From source file:com.linagora.obm.ui.page.CreateUserPage.java

License:Open Source License

private void doCreateUser(UIUser userToCreate) {
    if (userToCreate.hasKindDefined()) {
        userKind.sendKeys(userToCreate.getKind().getUiFrenchText());
    }/*from   ww  w  .  j a va2 s  .c om*/
    userLogin.sendKeys(userToCreate.getLogin());
    userFirstname.sendKeys(userToCreate.getFirstName());
    userLastname.sendKeys(userToCreate.getLastName());
    userCommonname.sendKeys(userToCreate.getCommonName());
    passwd.sendKeys(userToCreate.getPassword());
    userTitle.sendKeys(userToCreate.getTitle());
    clickCheckbox(cba_hidden, userToCreate.isMailboxHidden());
    clickCheckbox(cba_archive, userToCreate.isMailboxArchive());
    delegationTargetField.sendKeys(userToCreate.getDelegation());
    clickCheckbox(noexperie, !userToCreate.isNoExpire());
    userPhone.sendKeys(userToCreate.getPhone());
    userPhone2.sendKeys(userToCreate.getPhone2());
    userMobile.sendKeys(userToCreate.getPhoneMobile());
    userFax.sendKeys(userToCreate.getPhoneFax());
    userFax2.sendKeys(userToCreate.getPhoneFax2());
    userCompany.sendKeys(userToCreate.getCompany());
    userDirection.sendKeys(userToCreate.getDirection());
    userService.sendKeys(userToCreate.getService());
    userAd1.sendKeys(userToCreate.getAddress1());
    userAd2.sendKeys(userToCreate.getAddress2());
    userAd3.sendKeys(userToCreate.getAddress3());
    userZip.sendKeys(userToCreate.getAddressZip());
    userTown.sendKeys(userToCreate.getAddressTown());
    userCdx.sendKeys(userToCreate.getAddressCedex());
    userDesc.sendKeys(userToCreate.getDescription());

    if (clickCheckbox(userMailActive, userToCreate.isEmailInternalEnabled())) {
        WebElement firstInternalEmail = Iterables.getLast(internalEmailFields);
        firstInternalEmail.sendKeys(userToCreate.getEmailAddress());
    } else {
        externalEmailField.sendKeys(userToCreate.getEmailAddress());
    }

    SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
    if (userToCreate.getDateBegin() != null) {
        userDatebegin.sendKeys(sdf.format(userToCreate.getDateBegin()));
    }
    if (userToCreate.getDateExpire() != null) {
        userDateexp.sendKeys(sdf.format(userToCreate.getDateExpire()));
    }

    for (WebElement domainOption : sel_profile.findElements(By.tagName("option"))) {
        if (domainOption.getAttribute("value").equals(String.valueOf(userToCreate.getProfile().getUiValue()))) {
            domainOption.click();
        }
    }

    createUserSubmit.click();
}

From source file:com.linagora.obm.ui.page.LoginPage.java

License:Open Source License

private void doLogin(UIUser user, UIDomain domain) {
    loginField.sendKeys(user.getLogin());
    passwordField.sendKeys(user.getPassword());
    for (WebElement domainOption : selectDropdown.findElements(By.tagName("option"))) {
        if (domainOption.getText().startsWith(domain.getName() + " ")) {
            domainOption.click();/*  w  w  w .j a v  a  2  s.  co  m*/
        }
    }
    loginForm.submit();
}

From source file:com.linagora.obm.ui.scenario.event.EventStepdefs.java

License:Open Source License

private boolean isDayOfMonthInPrintedWeek(DateTime dayOfMonth) {
    List<WebElement> dayElements = driver.findElements(By.className("dayLabel"));
    for (WebElement dayElement : dayElements) {
        WebElement href = dayElement.findElement(By.tagName("a"));
        if (href.getAttribute("onclick").contains(String.valueOf(dayOfMonth.getMillis() / 1000))) {
            return true;
        }//from w  ww .ja va  2  s . co m
    }
    return false;
}

From source file:com.linagora.obm.ui.scenario.user.UserStepdefs.java

License:Open Source License

@Then("creation succeeds")
public void creationSucceeds() {
    List<WebElement> okMessages = processedCreationSummaryPage.elMessagesOk();
    assertThat(processedCreationSummaryPage.elMessagesInfo()).isEmpty();
    assertThat(processedCreationSummaryPage.elMessagesError()).isEmpty();
    assertThat(processedCreationSummaryPage.elMessagesWarning()).isEmpty();
    assertThat(okMessages).hasSize(2);//from  w  ww. ja  va  2s .  co m
    assertThat(okMessages.get(0).getText()).isEqualTo("Utilisateur : Insertion russie");
    WebElement findElement = okMessages.get(1).findElement(By.tagName("input"));
    assertThat(findElement.getAttribute("value")).isEqualTo("Tlcharger la fiche utilisateur");
}

From source file:com.machinepublishers.jbrowserdriver.diagnostics.Test.java

License:Apache License

private void doTests() {
    JBrowserDriver driver = null;//from  w  ww . j  a  v  a2 s.c  o m
    Thread shutdownHook = null;
    try {
        HttpServer.launch(TEST_PORT_HTTP);
        final File cacheDir = Files.createTempDirectory("jbd_test_cache").toFile();
        final File userDataDir = Files.createTempDirectory("jbd_test_userdata").toFile();
        shutdownHook = new Thread(new Runnable() {
            @Override
            public void run() {
                FileUtils.deleteQuietly(cacheDir);
                FileUtils.deleteQuietly(userDataDir);
            }
        });
        Runtime.getRuntime().addShutdownHook(shutdownHook);
        final String mainPage = "http://" + InetAddress.getLoopbackAddress().getHostAddress() + ":"
                + TEST_PORT_HTTP;
        final int ajaxWait = 150;
        final Settings.Builder builder = Settings.builder().processes(TEST_PORTS_RMI)
                .screen(new Dimension(1024, 768)).logger(null).logJavascript(true).ajaxWait(ajaxWait)
                .cacheDir(cacheDir).cache(true).ignoreDialogs(false);
        driver = new JBrowserDriver(builder.build());

        /*
         * Load a page
         */
        driver.get(mainPage);
        test(driver.getStatusCode() == 200);
        long initialRequestId = HttpServer.previousRequestId();

        /*
         * Load page from cache
         */
        driver.get(mainPage);
        test(driver.getStatusCode() == 200);
        test(HttpServer.previousRequestId() == initialRequestId);
        boolean viaHeader = false;
        for (String line : HttpServer.previousRequest()) {
            if (line.toLowerCase().startsWith("via:")) {
                viaHeader = true;
                break;
            }
        }
        test(!viaHeader);

        /*
         * Driver reset
         */
        driver.reset();
        driver.get(mainPage);
        test(driver.getStatusCode() == 200);
        test(HttpServer.previousRequestId() == initialRequestId);
        driver.reset(builder.cacheDir(null).build());
        driver.get(mainPage);
        test(driver.getStatusCode() == 200);
        test(HttpServer.previousRequestId() != initialRequestId);

        /*
         * Javascript logs
         */
        int messages = 0;
        for (LogEntry entry : driver.manage().logs().get("javascript").filter(Level.ALL)) {
            ++messages;
            test(!StringUtils.isEmpty(entry.getMessage()));
        }
        test(messages == 3);

        /*
         * User-data directory
         */
        driver.findElement(By.id("populate-local-storage")).click();
        driver.findElement(By.id("load-from-local-storage")).click();
        test("test-value".equals(driver.findElement(By.id("local-storage-value-holder")).getText()));
        driver.get(mainPage);
        driver.findElement(By.id("load-from-local-storage")).click();
        test("test-value".equals(driver.findElement(By.id("local-storage-value-holder")).getText()));
        driver.reset();
        driver.get(mainPage);
        driver.findElement(By.id("load-from-local-storage")).click();
        test("".equals(driver.findElement(By.id("local-storage-value-holder")).getText()));
        driver.reset(builder.userDataDirectory(userDataDir).build());
        driver.get(mainPage);
        driver.findElement(By.id("populate-local-storage")).click();
        driver.findElement(By.id("load-from-local-storage")).click();
        test("test-value".equals(driver.findElement(By.id("local-storage-value-holder")).getText()));
        driver.reset();
        driver.get(mainPage);
        driver.findElement(By.id("load-from-local-storage")).click();
        test("test-value".equals(driver.findElement(By.id("local-storage-value-holder")).getText()));

        /*
         * Select DOM elements
         */
        test("test-data-attr".equals(driver.findElement(By.id("divtext1")).getAttribute("data-selected")));
        test(driver.findElement(By.id("divtext1")).getAttribute("undefinedattr") == null);
        test(driver.findElement(By.id("divtext1")).getAttribute("innerText").equals("test1"));
        test(driver.findElements(By.name("divs")).size() == 2);
        test(driver.findElements(By.name("divs")).get(1).getAttribute("innerText").equals("test2"));
        test(driver.findElementByClassName("divclass").getAttribute("id").equals("divtext1"));
        test(driver.findElementsByClassName("divclass").get(1).getAttribute("id").equals("divtext2"));
        test(driver.findElementByCssSelector("#divtext1").getAttribute("id").equals("divtext1"));
        test(driver.findElementsByCssSelector("html > *").get(1).getAttribute("id").equals("testbody"));
        test(driver.findElementById("divtext1").getTagName().equals("div"));
        test(driver.findElementsById("divtext1").get(0).getTagName().equals("div"));
        test(driver.findElementByLinkText("anchor").getAttribute("id").equals("anchor1"));
        test(driver.findElementsByLinkText("anchor").get(1).getAttribute("id").equals("anchor2"));
        test(driver.findElementByName("divs").getAttribute("id").equals("divtext1"));
        test(driver.findElementsByName("divs").get(1).getAttribute("id").equals("divtext2"));
        test(driver.findElementByPartialLinkText("anch").getAttribute("id").equals("anchor1"));
        test(driver.findElementsByPartialLinkText("anch").get(1).getAttribute("id").equals("anchor2"));
        test(driver.findElementByTagName("div").getAttribute("id").equals("divtext1"));
        test(driver.findElementsByTagName("div").get(1).getAttribute("id").equals("divtext2"));
        test(driver.findElementByXPath("//*[@id='divtext1']").getAttribute("id").equals("divtext1"));
        test(driver.findElementByTagName("body").findElement(By.xpath("//*[@id='divtext1']")).getAttribute("id")
                .equals("divtext1"));
        test(driver.findElementsByXPath("//html/*").get(1).getAttribute("id").equals("testbody"));
        test(driver.findElement(By.xpath("//a[contains(@href,'1')]")).getAttribute("id").equals("anchor1"));
        test(driver.findElementsByXPath("//a[contains(@href,'!!!')]").isEmpty());
        test(driver.findElementsByClassName("xx").isEmpty());
        test(driver.findElementsByTagName("xx").isEmpty());
        test(driver.findElementsByCssSelector("#xx").isEmpty());
        Throwable error = null;
        try {
            driver.findElementByTagName("xx");
        } catch (NoSuchElementException e) {
            error = e;
        }
        test(error != null);
        error = null;
        try {
            driver.findElementByCssSelector("#xx");
        } catch (NoSuchElementException e) {
            error = e;
        }
        test(error != null);
        error = null;
        try {
            driver.findElementsByXPath("!!!");
        } catch (WebDriverException e) {
            error = e;
        }
        test(error != null);
        error = null;
        try {
            driver.findElement(By.id("divtext1")).findElements(By.cssSelector("???"));
        } catch (WebDriverException e) {
            error = e;
        }
        test(error != null);

        /*
         * WebElement Equals/HashCode
         */
        test(driver.findElements(By.name("divs")).get(0).equals(driver.findElements(By.name("divs")).get(0)));
        test(driver.findElements(By.name("divs")).get(0).hashCode() == driver.findElements(By.name("divs"))
                .get(0).hashCode());

        /*
         * Typing text
         */
        driver.findElement(By.id("text-input")).sendKeys("testing");
        driver.findElement(By.id("text-input")).sendKeys("");
        test(driver.findElement(By.id("text-input")).getAttribute("value").equals("testing"));
        driver.findElement(By.id("text-input")).sendKeys(JBrowserDriver.KEYBOARD_DELETE);
        test(driver.findElement(By.id("text-input")).getAttribute("value") == null);
        driver.findElement(By.id("text-input")).sendKeys("testing");
        test(driver.findElement(By.id("text-input")).getAttribute("value").equals("testing"));
        driver.findElement(By.id("text-input")).clear();
        test(driver.findElement(By.id("text-input")).getAttribute("value") == null);

        /*
         * Clicking on elements
         */
        test(!driver.findElement(By.id("testoption2")).isSelected());
        driver.findElement(By.id("testoption2")).click();
        test(driver.findElement(By.id("testoption2")).isSelected());
        driver.findElement(By.id("testoption1")).click();
        test(driver.findElement(By.id("testoption1")).isSelected());
        driver.findElement(By.id("anchor5")).click();
        test("anchor clicked".equals(driver.findElement(By.id("testspan")).getText()));

        /*
         * Execute javascript
         */
        test(((WebElement) driver.executeScript("return arguments[0];", driver.findElement(By.id("divtext1"))))
                .getAttribute("innerText").equals("test1"));
        test(((WebElement) driver.executeScript("return arguments[0].parentNode;",
                driver.findElement(By.id("divtext1")))).getTagName().equals("body"));
        test(((WebElement) ((JavascriptExecutor) driver.findElement(By.id("divtext1")))
                .executeAsyncScript("arguments[0](this);")).getAttribute("innerText").equals("test1"));
        test((driver.executeAsyncScript("arguments[1](arguments[0].innerText);",
                driver.findElement(By.id("divtext1")))).equals("test1"));
        Map<String, Object> map = (Map<String, Object>) driver.executeScript("return {"
                + "key1:['value1','value2','value3'], " + "key2:5," + "key3:function(){return 'testing';}, "
                + "key4:undefined, key5:null, key6:1/0, key7:0/0, key8:'', key9:[], key10:{}, key11:[{},{}],"
                + "key12:document.getElementById('divtext1'), " + "key13:document.getElementsByName('divs'), "
                + "key14:[document.getElementById('divtext1'),document.getElementsByName('divs'),{subkey1:'subval1'}]};");
        test(map.size() == 14);
        test(((List) map.get("key1")).size() == 3);
        test(((List) map.get("key1")).get(2).equals("value3"));
        test(((List) map.get("key1")).get(2) instanceof String);
        test(map.get("key2").equals(new Long(5)));
        test("function () {return 'testing';}".equals(map.get("key3"))
                || "function (){return 'testing';}".equals(map.get("key3")));
        test(map.get("key4") == null);
        test(map.get("key5") == null);
        test(Double.isInfinite(((Double) map.get("key6")).doubleValue()));
        test(Double.isNaN(((Double) map.get("key7")).doubleValue()));
        test("".equals(map.get("key8")));
        test(map.get("key9") instanceof List);
        test(map.get("key10") instanceof Map);
        test(((List) map.get("key11")).size() == 2);
        test(((Map) ((List) map.get("key11")).get(1)).isEmpty());
        test("test1".equals(((WebElement) map.get("key12")).getAttribute("innerText")));
        test(((List<WebElement>) map.get("key13")).size() == 2);
        test(((List<WebElement>) map.get("key13")).get(1).getAttribute("innerText").equals("test2"));
        test(((List) map.get("key14")).size() == 3);
        test(((List) ((List) map.get("key14")).get(1)).size() == 2);
        test(((WebElement) ((List) ((List) map.get("key14")).get(1)).get(1)).getAttribute("innerText")
                .equals("test2"));
        test(((Map) ((List) map.get("key14")).get(2)).size() == 1);
        test("subval1".equals(((Map) ((List) map.get("key14")).get(2)).get("subkey1")));
        test(((List) driver.executeScript("return [];")).isEmpty());
        test(((Map) driver.executeScript("return {};")).isEmpty());
        error = null;
        try {
            driver.executeScript("invalid.execute()");
        } catch (WebDriverException e) {
            error = e;
        }
        test(error != null);

        /*
         * DOM element properties
         */
        WebElement element = driver.findElement(By.id("divtext1"));
        Point point = element.getLocation();
        test(point.getX() > 0);
        test(point.getY() > 0);
        Dimension dimension = element.getSize();
        test(dimension.width > 0);
        test(dimension.height > 0);
        Rectangle rect = element.getRect();
        test(rect.x == point.getX());
        test(rect.y == point.getY());
        test(rect.width == dimension.getWidth());
        test(rect.height == dimension.getHeight());
        test("Testing\ntext.".equals(driver.findElement(By.id("text-node1")).getText()));
        test("".equals(driver.findElement(By.id("text-node2")).getText()));
        test("".equals(driver.findElement(By.id("text-node3")).getText()));
        List<WebElement> options = driver.findElementsByCssSelector("#testselect option");
        test(options.size() == 2);
        test(options.get(0).isSelected());
        test(!options.get(1).isSelected());
        test(driver.findElementById("checkbox1").isSelected());
        test(!driver.findElementById("checkbox2").isSelected());

        /*
         * Cookie manager
         */
        driver.manage().addCookie(new Cookie("testname", "testvalue"));
        Cookie cookie = driver.manage().getCookieNamed("testname");
        test(cookie.getValue().equals("testvalue"));
        test(InetAddress.getLoopbackAddress().getHostAddress().equals(cookie.getDomain()));

        /*
         * Screenshots
         */
        test(driver.getScreenshotAs(OutputType.BYTES).length > 0);

        /*
         * File Input Type
         */
        driver.findElement(By.id("upload")).sendKeys("some-file");
        test("event-test".equals(driver.findElement(By.id("file-input-onchange")).getText()));
        test(driver.findElement(By.id("upload")).getAttribute("value").endsWith("some-file"));

        /*
         * Javascript alerts
         */
        driver.findElement(By.tagName("button")).click();
        test(driver.switchTo().alert().getText().equals("test-alert"));
        driver.switchTo().alert().dismiss();
        test(driver.switchTo().alert().getText().equals("test-confirm"));
        driver.switchTo().alert().dismiss();
        test(driver.switchTo().alert().getText().equals("test-prompt"));
        driver.switchTo().alert().sendKeys("test-input");
        driver.switchTo().alert().accept();
        test(driver.findElement(By.id("testspan")).getAttribute("innerHTML").equals("test-input"));

        /*
         * Request headers
         */
        List<String> request = HttpServer.previousRequest();
        if (TEST_PORT_HTTP != 443 && TEST_PORT_HTTP != 80) {
            test(request.get(1).endsWith(":" + TEST_PORT_HTTP));
        }
        test(request.size() > 1);
        Set<String> headers = new HashSet<String>();
        for (String line : request) {
            if (line.contains(":")) {
                headers.add(line.split(":")[0].toLowerCase());
            }
        }
        test(request.size() - 2 == headers.size());

        /*
         * HTTP Post
         */
        driver.findElement(By.id("form-submit")).click();
        test(driver.getStatusCode() == 201);
        test("form-field=test-form-value"
                .equals(HttpServer.previousRequest().get(HttpServer.previousRequest().size() - 1)));

        /*
         * Frames
         */
        driver.switchTo().frame(driver.findElementByTagName("iframe"));
        test(driver.findElementById("iframebody") != null);
        driver.switchTo().parentFrame();
        test(driver.findElementById("testbody") != null);
        driver.switchTo().frame(0);
        test(driver.findElementById("iframebody") != null);
        driver.switchTo().defaultContent();
        driver.switchTo().frame("testiframe");
        test(driver.findElementById("iframebody") != null);
        driver.get(mainPage);
        test(driver.getPageSource() != null);
        driver.switchTo().frame(driver.findElementByTagName("iframe"));
        test(driver.findElementById("iframebody") != null);
        driver.switchTo().parentFrame();
        driver.findElement(By.id("anchor3")).click();
        test(driver.getPageSource() != null);
        driver.switchTo().frame(driver.findElementByTagName("iframe"));
        driver.findElement(By.id("iframe-anchor")).click(); //TODO iframe coord offset needed on any other methods?
        driver.pageWait();
        test(HttpServer.previousRequest().get(0).startsWith("GET /iframe.htm?param=fromiframe"));
        driver.get(mainPage);
        driver.switchTo().frame(driver.findElementByTagName("iframe"));
        Actions actions = new Actions(driver);
        actions.moveToElement(driver.findElement(By.id("iframe-anchor")));
        actions.click();
        actions.build().perform();
        driver.pageWait();
        test(HttpServer.previousRequest().get(0).startsWith("GET /iframe.htm?param=fromiframe"));
        driver.get(mainPage);
        driver.switchTo().frame(driver.findElementByTagName("iframe"));
        driver.getMouse().click(((Locatable) driver.findElement(By.id("iframe-anchor"))).getCoordinates());
        driver.getMouse().mouseMove(((Locatable) driver.findElement(By.id("iframe-anchor"))).getCoordinates(),
                5, 5);
        driver.pageWait();
        test(HttpServer.previousRequest().get(0).startsWith("GET /iframe.htm?param=fromiframe"));
        //TODO fingerprinting
        //System.out.println(driver.findElement(By.id("iframe-useragent")).getAttribute("innerHTML"));
        //System.out.println(driver.findElement(By.id("iframe-nested-useragent")).getAttribute("innerHTML"));

        /*
         * Redirects and cookies
         */
        driver.get(mainPage + "/redirect/site1#testfragment");
        test(HttpServer.previousRequestId() != initialRequestId);
        test(driver.getStatusCode() == 200);
        test(driver.getCurrentUrl().endsWith("/redirect/site2#testfragment"));
        cookie = driver.manage().getCookieNamed("JSESSIONID");
        test(cookie.getValue().equals("ABC123"));
        test(InetAddress.getLoopbackAddress().getHostAddress().equals(cookie.getDomain()));

        /*
         * Cookies set by Javascript
         */
        test("jsCookieValue1".equals(driver.manage().getCookieNamed("jsCookieName1").getValue()));
        test("jsCookieValue2".equals(driver.manage().getCookieNamed("jsCookieName2").getValue()));
        test("jsCookieValue3".equals(driver.manage().getCookieNamed("jsCookieName3").getValue()));
        test("jsCookieValue4".equals(driver.manage().getCookieNamed("jsCookieName4").getValue()));

        /*
         * Window size and position
         */
        driver.manage().window().setSize(new Dimension(5000, 5000));
        test(driver.manage().window().getSize().getWidth() == 1024);
        test(driver.manage().window().getSize().getHeight() == 768);
        driver.manage().window().setSize(new Dimension(800, 600));
        test(driver.manage().window().getSize().getWidth() == 800);
        test(driver.manage().window().getSize().getHeight() == 600);
        driver.manage().window().setPosition(new Point(5000, 5000));
        test(driver.manage().window().getPosition().getX() == 224);
        test(driver.manage().window().getPosition().getY() == 168);
        driver.manage().window().setPosition(new Point(20, 50));
        test(driver.manage().window().getPosition().getX() == 20);
        test(driver.manage().window().getPosition().getY() == 50);
        driver.manage().window().maximize();
        test(driver.manage().window().getPosition().getX() == 0);
        test(driver.manage().window().getPosition().getY() == 0);
        test(driver.manage().window().getSize().getWidth() == 1024);
        test(driver.manage().window().getSize().getHeight() == 768);
        driver.manage().window().setSize(new Dimension(800, 600));
        driver.manage().window().setPosition(new Point(20, 50));
        driver.manage().window().fullscreen();
        test(driver.manage().window().getPosition().getX() == 0);
        test(driver.manage().window().getPosition().getY() == 0);
        test(driver.manage().window().getSize().getWidth() == 1024);
        test(driver.manage().window().getSize().getHeight() == 768);
        driver.manage().window().fullscreen();
        test(driver.manage().window().getPosition().getX() == 20);
        test(driver.manage().window().getPosition().getY() == 50);
        test(driver.manage().window().getSize().getWidth() == 800);
        test(driver.manage().window().getSize().getHeight() == 600);
        driver.manage().window().setSize(new Dimension(400, 200));
        driver.manage().window().setPosition(new Point(10, 30));
        test(driver.manage().window().getPosition().getX() == 10);
        test(driver.manage().window().getPosition().getY() == 30);
        test(driver.manage().window().getSize().getWidth() == 400);
        test(driver.manage().window().getSize().getHeight() == 200);
        driver.manage().window().setSize(new Dimension(1024, 768));
        test(driver.manage().window().getPosition().getX() == 0);
        test(driver.manage().window().getPosition().getY() == 0);
        test(driver.manage().window().getSize().getWidth() == 1024);
        test(driver.manage().window().getSize().getHeight() == 768);

        /*
         * Element visibility
         */
        test(driver.findElement(By.id("iframe-anchor")).isDisplayed());
        test(!driver.findElement(By.id("anchor-visibility-hidden")).isDisplayed());
        test(!driver.findElement(By.id("anchor-display-none")).isDisplayed());
        error = null;
        try {
            driver.findElement(By.id("anchor-visibility-hidden")).click();
        } catch (ElementNotVisibleException e) {
            error = e;
        }
        test(error != null);
        error = null;
        try {
            driver.findElement(By.id("anchor-display-none")).click();
        } catch (ElementNotVisibleException e) {
            error = e;
        }
        test(error != null);

        /*
         * Operations on elements that no longer exist
         */
        WebElement body = driver.findElement(By.tagName("body"));
        test(!StringUtils.isEmpty(body.getAttribute("outerHTML")));
        driver.get("about:blank");
        error = null;
        try {
            body.getAttribute("outerHTML");
        } catch (StaleElementReferenceException e) {
            error = e;
        }
        test(error != null);

        /*
         * Timeouts
         */
        driver.manage().timeouts().pageLoadTimeout(1, TimeUnit.MILLISECONDS);
        error = null;
        try {
            driver.get(mainPage + "/wait-forever");
        } catch (TimeoutException e) {
            error = e;
        }
        test(error != null);

    } catch (Throwable t) {
        outputError(testLabel("failed", curTest + 1, t));
    } finally {
        try {
            driver.quit();
        } catch (Throwable t) {
            outputError(toString(t));
        }
        try {
            HttpServer.stop();
        } catch (Throwable t) {
            outputError(toString(t));
        }
        try {
            Runtime.getRuntime().removeShutdownHook(shutdownHook);
            shutdownHook.run();
        } catch (Throwable t) {
        }
    }
}

From source file:com.me.jvmi.SelectElement.java

public void selectOption(String optionText) {
    List<WebElement> options = select.findElements(By.tagName("option"));
    for (WebElement option : options) {
        if (option.getText().equalsIgnoreCase(optionText)) {
            option.click();/*from  w ww.j  ava 2  s.  c  om*/
            break;
        }
    }
}

From source file:com.me.jvmi.SelectElement.java

public void selectAll(Set<String> optionsText) {
    Actions shiftClick = new Actions(driver);
    shiftClick = shiftClick.keyDown(Keys.SHIFT);
    List<WebElement> options = select.findElements(By.tagName("option"));
    for (WebElement option : options) {
        if (optionsText.contains(option.getText())) {
            shiftClick = shiftClick.click(option);
        }/*  w w w  .j  a  v a 2 s .  com*/
    }
    shiftClick.keyUp(Keys.SHIFT).perform();
}

From source file:com.mediamelon.UserActions.java

void addAccount(WebDriver driver, List<String> formData) {
    //Verify if the user is logged in as Super User to create a new account. 
    //If not, display message and return

    //Verify if the user is logged in
    String pageTitle = driver.getTitle();
    Assert.assertEquals(pageTitle, "MediaMelon - Home");
    String fullName = driver.findElement(By.xpath("//div[@class='row data']/div/div[1]/p[2]")).getText();
    String role = driver.findElement(By.xpath("//div[@class='row data']/div/div[3]/p[2]")).getText();

    if (fullName.equalsIgnoreCase("Super User") && role.equalsIgnoreCase("admin")) {

        System.out.println("List of Accounts is displayed");
        //expand the settings menu option and click on Account Management
        List<WebElement> dropDownOptions = driver.findElements(By.className("dropdown-toggle"));
        dropDownOptions.get(0).click();// w ww  .  java 2s . c o m
        WebElement accountManagement = driver.findElement(By.cssSelector(".dropdown-menu.dropdown-admin"));
        Assert.assertTrue(accountManagement.isDisplayed());
        accountManagement.findElement(By.linkText("Account Management")).click();

        Assert.assertEquals(driver.getTitle(), "List of Accounts");

        WebElement accountsTable = driver.findElement(By.xpath("//div[@class='row well']/table"));
        Assert.assertTrue(accountsTable.isDisplayed());
        WebElement addAccountBtn = driver.findElement(By.cssSelector(".btn.btn-primary"));

        System.out.println("Clicking on Add a new account button");
        Assert.assertEquals(addAccountBtn.getText(), "Add a new Account");
        addAccountBtn.click();

        //Fill account add form
        WebElement accountForm = driver.findElement(By.tagName("form"));
        Assert.assertTrue(accountForm.isDisplayed());
        System.out.println(accountForm.getAttribute("action"));

        accountForm.findElement(By.id("companyName")).sendKeys(formData.get(0));
        accountForm.findElement(By.id("companyWebsite")).sendKeys(formData.get(1));
        accountForm.findElement(By.id("adminName")).sendKeys(formData.get(2));
        accountForm.findElement(By.id("adminEmail")).sendKeys(formData.get(3));

        Select licenseType = new Select(driver.findElement(By.id("licenseType")));
        licenseType.selectByVisibleText(formData.get(4));

        Select services = new Select(driver.findElement(By.id("services")));
        String requiredServices = formData.get(5);
        String multipleSel[] = formData.get(5).split(",");

        if (requiredServices.equalsIgnoreCase("All")) {
            services.selectByIndex(0);
            services.selectByIndex(1);
            services.selectByIndex(2);
        } else if (multipleSel.length > 1) {
            for (int i = 0; i < multipleSel.length; i++)
                services.selectByVisibleText(multipleSel[i]);
        } else
            services.selectByVisibleText(requiredServices);

        accountForm.findElement(By.id("companyName")).sendKeys(formData.get(5));
        //submit the form
        System.out.println("Submitting the form");
        accountForm.findElement(By.cssSelector("button[value='submit']")).click();
        System.out.println("clicked on submit button");

        accountsTable = driver.findElement(By.cssSelector("table.table-striped.table-hover.table-bordered"));
        Assert.assertTrue(accountsTable.isDisplayed());
        System.out.println("form submitted sucessfully");

        //Verify the presence of newly created account in the list of accounts
        System.out.println("Verifying if the newly created account is present in the list");
        String tableData = accountsTable.getText();
        System.out.println("Table Data: " + tableData);
        //findElement(By.xpath(".//*[@class='studyResultsId']/div/table/tbody/tr/td")).getText();

        //Retrieving the data from the Td of table in to a string
        if (tableData.contains(formData.get(5))) {
            System.out.println("contains newly created account");
        } else {
            System.out.println("does not contains newly created account");
        }
    } else
        System.out.println("User not authorized to create an account");

}

From source file:com.mgmtp.jfunk.web.step.CheckTableCell.java

License:Apache License

@Override
public void execute() {
    WebElement table = findTable(WebConstants.ID, idName);
    List<WebElement> rows = table.findElements(By.tagName(WebConstants.TR));
    if (rowNumber < rows.size()) {
        throw new StepException("Table only had " + rows.size() + " rows; row index however is " + rowNumber);
    }//from   ww w. ja va 2  s.  c om

    List<WebElement> columns = rows.get(rowNumber).findElements(By.tagName(WebConstants.TD));
    WebElement cell = columns.get(columnNumber);
    if (cell == null) {
        throw new StepException("No column " + columnNumber + " in row " + rowNumber);
    }
    String actualValue = cell.getText().trim();
    Matcher m = pattern.matcher(actualValue);
    if (!m.matches()) {
        throw new ValidationException("Value of row " + rowNumber + " and column " + columnNumber
                + " was not correct: The actual value " + actualValue
                + " does not match the regular expression " + pattern);
    }
}

From source file:com.mgmtp.jfunk.web.step.CheckTableCell.java

License:Apache License

private WebElement findTable(final String attributeKey, final String attributeValue) {
    List<WebElement> tables = getWebDriver().findElements(By.tagName(WebConstants.TABLE));
    for (WebElement table : tables) {
        String value = table.getAttribute(attributeKey);
        if (StringUtils.equals(attributeValue, value)) {
            return table;
        }//  w w  w .jav a2 s . c  om
    }
    throw new StepException("Could not find table [" + attributeKey + "=" + attributeValue + "]");
}