Example usage for org.openqa.selenium By name

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

Introduction

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

Prototype

public static By name(String name) 

Source Link

Usage

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

License:Apache License

private void doTests() {
    JBrowserDriver driver = null;//from ww  w  .j  ava 2 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.mastfrog.selenium.Utils.java

License:Open Source License

/**
 * Wait for a page element to be refreshed.  Attempts to derive a 
 * recipe for looking up the element from its attributes.  May fail.
 * @param el The element//  w  w w  .  j ava  2 s.c o m
 */
public void waitForRefresh(final WebElement el) {
    By by = null;
    if (el.getAttribute("id") != null) {
        by = By.id(el.getAttribute("id"));
    } else if (el.getAttribute("name") != null) {
        by = By.name(el.getAttribute("name"));
    } else if (el.getAttribute("class") != null) {
        by = By.className(el.getAttribute("class"));
    } else if (el.getAttribute("style") != null) {
        by = By.cssSelector("style");
    } else {
        throw new Error("No good way to look up " + el);
    }
    waitForRefresh(by);
}

From source file:com.mkl.websuites.command.OperationOnWebElement.java

License:Apache License

@Override
protected void runCommandWithParameters() {

    by = null;/*w  w  w .  java2  s .  c o m*/

    if (parameterMap.keySet().contains("id")) {
        by = By.id(parameterMap.get("id"));
    }

    if (parameterMap.keySet().contains("css")) {
        by = By.cssSelector(parameterMap.get("css"));
    }

    if (parameterMap.keySet().contains("xpath")) {
        by = By.xpath(parameterMap.get("xpath"));
    }

    if (parameterMap.keySet().contains("className")) {
        by = By.className(parameterMap.get("className"));
    }

    if (parameterMap.keySet().contains("linkText")) {
        by = By.linkText(parameterMap.get("linkText"));
    }

    if (parameterMap.keySet().contains("partialLinkText")) {
        by = By.partialLinkText(parameterMap.get("partialLinkText"));
    }

    if (parameterMap.keySet().contains("name")) {
        by = By.name(parameterMap.get("name"));
    }

    if (parameterMap.keySet().contains("tagName")) {
        by = By.tagName(parameterMap.get("tagName"));
    }

    try {

        WebElement elem = browser.findElement(by);

        foundElement = elem;

        doOperationOnElement(elem);

    } catch (NoSuchElementException e) {

        fail("No element found for selecor " + by + " can be found on the page. " + "Selection parameters: "
                + parameterMap);
    }
}

From source file:com.mkl.websuites.command.OperationOnWebElementTest.java

License:Apache License

@Test
public void shouldRunForName(@Mocked final WebDriver browser) {
    runFor(browser, "name", "someName", By.name("someName"));
}

From source file:com.mobileobservinglog.ngcdata.SeleniumIC.java

License:Open Source License

public void doit() {
    ArrayList<String> outputLines = new ArrayList<String>();
    ArrayList<Integer> magnitudeError = new ArrayList<Integer>();
    ArrayList<Integer> typeError = new ArrayList<Integer>();
    ArrayList<Integer> constellationError = new ArrayList<Integer>();
    ArrayList<Integer> sizeError = new ArrayList<Integer>();
    ArrayList<Integer> rightAscen = new ArrayList<Integer>();
    ArrayList<Integer> declination = new ArrayList<Integer>();
    ArrayList<Integer> driverError = new ArrayList<Integer>();
    int start = 5001;
    int end = 5386;
    String nullString = "NULL";
    String catalogName = String.format("IC %d-%d", start, end);
    String outputFilename = "ic_6_catalog_database_values.xml";

    driver.get("http://www.ngcicproject.org/pubdb.htm");
    for (int i = start; i <= end; i++) {
        String objectName = "IC " + i;
        System.out.println("Gathering number " + i);
        driver.findElement(By.name("ngcicobject")).clear();
        driver.findElement(By.name("ngcicobject")).sendKeys(objectName);
        driver.findElement(By.name("objectdesignation")).click();

        if (driver.getPageSource().contains("For some reason, there wasn't any data in the database for")) {
            System.out.println("!!!!WARNING: WebDriverException Caught!!!!");
            driverError.add(i);/*w  w w.  j a  v a  2 s .  co  m*/
            String outputLine = nullString + ";" + objectName + ";" + nullString + ";" + nullString + ";"
                    + nullString + ";" + nullString + ";" + nullString + ";" + nullString + ";" + nullString
                    + ";" + nullString + ";" + nullString + ";" + nullString + ";" + catalogName + ";"
                    + nullString + ";" + nullString + nullString
                    + ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL";

            outputLines.add(outputLine);
            driver.navigate().back();
            continue;
        }

        try {
            String ra = driver
                    .findElement(By
                            .xpath("//b[contains(text(), 'Right Ascension (2000)')]/following-sibling::font/b"))
                    .getText();
            if (ra.length() < 1) {
                ra = "N/A";
                System.out.println("!!!!WARNING: Right Ascension was empty!!!!");
                rightAscen.add(i);
            }

            String dec = driver
                    .findElement(
                            By.xpath("//b[contains(text(), 'Declination (2000)')]/following-sibling::font/b"))
                    .getText();
            if (dec.length() < 1) {
                dec = "N/A";
                System.out.println("!!!!WARNING: Right Ascension was empty!!!!");
                declination.add(i);
            } else {
                dec = ProcessLineUtils.processDeclination(dec);
            }

            String type = driver
                    .findElement(By.xpath("//b[contains(text(), 'Object Type')]/following-sibling::font/b"))
                    .getText();
            if (!ObjectTypeProcessor.isKnown(type)) {
                String temp = ObjectTypeProcessor.getAssociation(type);
                if (temp != null) {
                    type = temp;
                } else {
                    System.out.println("!!!!WARNING: Object Type was Unrecognized!!!!");
                    typeError.add(i);
                }
            }

            String constellation = driver
                    .findElement(By.xpath("//b[contains(text(), 'Constellation')]/following-sibling::font/b"))
                    .getText();
            if (!ConstellationReplace.isKnown(constellation)) {
                String temp = ConstellationReplace.getAssociation(constellation);
                if (temp != null) {
                    constellation = temp;
                } else {
                    System.out.println("!!!!WARNING: Constellation was Unrecognized!!!!");
                    constellationError.add(i);
                }
            }

            String magnitude = driver
                    .findElement(
                            By.xpath("//b[contains(text(), 'Visual Magnitude')]/following-sibling::font/b"))
                    .getText();
            try {
                float test = Float.parseFloat(magnitude);
            } catch (NumberFormatException e) {
                System.out.println("!!!!WARNING: Magnitude was Unrecognized!!!!");
                magnitudeError.add(i);
                magnitude = nullString;
            }
            if (magnitude.contains("--")) {
                System.out.println("!!!!WARNING: Magnitude was Empty!!!!");
                magnitudeError.add(i);
                magnitude = nullString;
            }

            String alsoCataloged = driver
                    .findElement(
                            By.xpath("//b[contains(text(), 'Also Cataloged')]/../following-sibling::td/font/b"))
                    .getText();
            if (alsoCataloged.toLowerCase().contains("no other") || alsoCataloged.length() < 1) {
                alsoCataloged = nullString;
            }

            String description = driver
                    .findElement(
                            By.xpath("//b[contains(text(), 'Summary Description')]/following-sibling::font/b"))
                    .getText();
            if (description.length() < 1 || description.contains("...")) {
                description = nullString;
            } else {
                description = ProcessLineUtils.processDescription(description);
            }

            String size = driver
                    .findElement(By.xpath("//b[contains(text(), 'Object Size')]/following-sibling::font/b"))
                    .getText();
            if (size.length() < 1 || size.contains("--")) {
                System.out.println("!!!!WARNING: Object Size was Empty!!!!");
                sizeError.add(i);
                size = nullString;
            } else {
                size = ProcessLineUtils.processSize(size);
            }

            String season = ProcessLineUtils.determineSeason(constellation);

            String outputLine = nullString + ";" + objectName + ";" + nullString + ";" + type + ";" + magnitude
                    + ";" + size + ";" + "N/A" + ";" + constellation + ";" + season + ";" + ra + ";" + dec + ";"
                    + description + ";" + catalogName + ";" + alsoCataloged + ";" + "/ic/normal/ic" + i
                    + ".gif;/ic/night/ic" + i + ".gif;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL";

            outputLines.add(outputLine);
        } catch (WebDriverException e) {
            System.out.println("!!!!WARNING: WebDriverException Caught!!!!");
            driverError.add(i);
            String outputLine = nullString + ";" + objectName + ";" + nullString + ";" + nullString + ";"
                    + nullString + ";" + nullString + ";" + nullString + ";" + nullString + ";" + nullString
                    + ";" + nullString + ";" + nullString + ";" + nullString + ";" + catalogName + ";"
                    + nullString + ";" + nullString + nullString
                    + ";NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL;NULL";

            outputLines.add(outputLine);
        }
        driver.navigate().back();
    }

    saveErrors(magnitudeError, typeError, sizeError, rightAscen, declination, driverError, constellationError,
            "Errors" + System.currentTimeMillis());

    saveFile(outputLines, outputFilename);

    driver.close();
    System.out.println();
    System.out.println("Saved Files");
}

From source file:com.mto.arquillian.demo.ChromeWebDriverTest.java

License:Open Source License

@Test
@RunAsClient//from   w  w  w  .j av a 2s.c  om
@InSequence(1)
public void testRegister(@ArquillianResource URL url) throws Exception {
    driver.navigate().to(url.toString() + "register/");
    WebElement form = driver.findElement(By.tagName("form"));
    form.findElement(By.name("username")).sendKeys("gatein");
    form.submit();
    assertEquals(
            "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body><pre>You have registered succesfully under the name: gatein</pre></body></html>",
            driver.getPageSource());
}

From source file:com.mx.santander.lh.obpyme.WebElement.ElementPageMarketingSantander.java

public WebElement ElementoTextInputBusqueda(WebDriver driver) {
    WebElement elementTextInputBusqueda = driver.findElement(By.name("q"));
    return elementTextInputBusqueda;
}

From source file:com.mycompany.myselion.sample.selion.AppiumAndroidDemoTest.java

License:Apache License

/**
 * This test demonstrates how to use SeLion for running tests against ANDROID browser using appium.
 * <ul>/*from   ww  w  .  j a va 2s.co  m*/
 * <li>
 * An appium instance/server should be installed and running where selenium host and port should be 
 * pointed to this instance.</li>
 * <li>
 * For setting up Appium Android refer http://appium.io/slate/en/master/?ruby#system-setup-(android)
 * </li>
 * </ul> 
 */
@Test
@MobileTest(appName = "Browser", device = "android:5.0.1", deviceType = "Android Emulator")
public void testWithBrowser() {
    RemoteWebDriver driver = Grid.driver();
    assertNotNull(driver);
    // And now use this to visit Google
    driver.get("http://www.google.com");
    // Find the text input element by its name
    WebElement element = driver.findElement(By.name("q"));
    // Enter something to search for
    element.sendKeys("Cheese!");
    // Now submit the form. WebDriver will find the form for us from the element
    element.submit();
    SeLionReporter.log("cheese!", true);
}

From source file:com.mycompany.myselion.sample.selion.AppiumIOSDemoTest.java

License:Apache License

/**
 * This test demonstrates how to use SeLion for running tests against IOS safari using appium.
 * <ul>//from  w w  w  .  j ava2  s  .  co  m
 * <li>
 * An appium instance/server should be installed and running where selenium host and port should be 
 * configured to the same appium instance.</li> 
 * <li>
 * For setting up Appium iOS refer http://appium.io/slate/en/master/?ruby#system-setup-(ios)
 * </li>
 * </ul>
 */
@Test
@MobileTest(appName = "safari", device = "iphone:8.1", deviceType = "iPhone Simulator")
public void testWithSafari() {
    //To gain access to the IOSRemoteWebDriver, we use the thread safe helper method Grid.driver() which provides
    //an instance of IOSRemoteWebDriver for the current Test method. 
    RemoteWebDriver driver = Grid.driver();
    assertNotNull(driver);
    // And now use this to visit Google
    driver.get("http://www.google.com");
    // Find the text input element by its name
    WebElement element = driver.findElement(By.name("q"));
    // Enter something to search for
    element.sendKeys("Cheese!");
    // Now submit the form. WebDriver will find the form for us from the element
    element.submit();
    // take a screenshot
    SeLionReporter.log("cheese!", true);
}

From source file:com.mycompany.myselion.sample.selion.SelendroidDemoTest.java

License:Apache License

/**
 * This test demonstrates how to use SeLion for running tests against ANDROID browser using selendroid.
 *//*from  w ww. j av a 2  s .c  o  m*/
@Test
@MobileTest(appName = "android", device = "android:19")
public void testLaunch() throws Exception {
    RemoteWebDriver driver = Grid.driver();
    assertNotNull(driver);
    // And now use this to visit Google
    driver.get("http://www.google.com");
    // Find the text input element by its name
    WebElement element = driver.findElement(By.name("q"));
    // Enter something to search for
    element.sendKeys("Cheese!");
    // Now submit the form. WebDriver will find the form for us from the element
    element.submit();
    SeLionReporter.log("cheese!", true, true);
}