Example usage for org.openqa.selenium WebDriver get

List of usage examples for org.openqa.selenium WebDriver get

Introduction

In this page you can find the example usage for org.openqa.selenium WebDriver get.

Prototype

void get(String url);

Source Link

Document

Load a new web page in the current browser window.

Usage

From source file:com.gargoylesoftware.htmlunit.javascript.host.WebSocketTest.java

License:Apache License

/**
 * @throws Exception if the test fails/*from w  ww  .j a  va2  s .c o  m*/
 */
@Test
@Alerts(DEFAULT = { "onOpenListener", "onOpen", "onMessageTextListener", "server_text", "ws://localhost:12345",
        "", "null", "onMessageText", "server_text", "ws://localhost:12345", "", "null",
        "onMessageBinaryListener", "[object ArrayBuffer]", "ws://localhost:12345", "", "null",
        "onMessageBinary", "[object ArrayBuffer]", "ws://localhost:12345", "", "null",
        "onCloseListener code: 1000  wasClean: true", "onClose code: 1000  wasClean: true" }, IE = {
                "onOpenListener", "onOpen", "onMessageTextListener", "server_text", "", "undefined", "null",
                "onMessageText", "server_text", "", "undefined", "null", "onMessageBinaryListener",
                "[object ArrayBuffer]", "", "undefined", "null", "onMessageBinary", "[object ArrayBuffer]", "",
                "undefined", "null", "onCloseListener code: 1005  wasClean: true",
                "onClose code: 1005  wasClean: true" })
@NotYetImplemented(IE)
public void events() throws Exception {
    startWebServer("src/test/resources/com/gargoylesoftware/htmlunit/javascript/host", null, null,
            new EventsWebSocketHandler());
    final WebDriver driver = getWebDriver();
    driver.get(URL_FIRST + "WebSocketTest_events.html");

    final WebElement logElement = driver.findElement(By.id("log"));
    int counter = 0;
    String text;
    do {
        Thread.sleep(100);

        text = logElement.getAttribute("value").trim().replaceAll("\r", "");
    } while (text.length() > 0 && counter++ < 10);

    assertEquals(String.join("\n", getExpectedAlerts()), text);
    stopWebServers();
}

From source file:com.gargoylesoftware.htmlunit.javascript.host.WebSocketTest.java

License:Apache License

/**
 * @throws Exception if the test fails//from   w ww. j  av  a  2 s  . co  m
 */
@Test
@Alerts({ "onError[object Event]", "onCloseListener code: 1006  wasClean: false",
        "onClose code: 1006  wasClean: false" })
public void eventsNoSocketServer() throws Exception {
    startWebServer("src/test/resources/com/gargoylesoftware/htmlunit/javascript/host", null, null, null);
    final WebDriver driver = getWebDriver();
    driver.get(URL_FIRST + "WebSocketTest_events.html");

    final WebElement logElement = driver.findElement(By.id("log"));
    int counter = 0;
    String text;
    do {
        Thread.sleep(100);

        text = logElement.getAttribute("value").trim().replaceAll("\r", "");
    } while (text.length() > 0 && counter++ < 10);

    assertEquals(String.join("\n", getExpectedAlerts()), text);
}

From source file:com.gargoylesoftware.htmlunit.javascript.host.WebSocketTest.java

License:Apache License

/**
 * @throws Exception if the test fails/*from  w  w  w .ja v a  2s  .  c om*/
 */
@Test
public void listener() throws Exception {
    startWebServer("src/test/resources/com/gargoylesoftware/htmlunit/javascript/host", null, null,
            new EventsWebSocketHandler());

    final WebDriver driver = getWebDriver();
    WebSocketListener listener = null;

    if (driver instanceof HtmlUnitDriver) {
        final WebClient webClient = getWebWindowOf((HtmlUnitDriver) driver).getWebClient();
        final WebClientInternals.Listener internalsListener = mock(WebClientInternals.Listener.class);

        listener = mock(WebSocketListener.class);
        final WebSocketListener listenerFinal = listener;

        doAnswer(new Answer<Void>() {
            @Override
            public Void answer(final InvocationOnMock invocation) {
                final Object[] args = invocation.getArguments();
                final WebSocket webSocket = (WebSocket) args[0];
                webSocket.setWebSocketListener(listenerFinal);
                return null;
            }
        }).when(internalsListener).webSocketCreated(any());

        webClient.getInternals().addListener(internalsListener);
    }

    driver.get(URL_FIRST + "WebSocketTest_listener.html");

    if (listener != null) {
        verify(listener, timeout(DEFAULT_WAIT_TIME)).onWebSocketConnect(any());
    }
    stopWebServers();
}

From source file:com.gargoylesoftware.htmlunit.libraries.CurvyCornersTest.java

License:Apache License

private void doTest(final String filename) throws Exception {
    final WebDriver driver = getWebDriver();
    driver.get(getBaseUrl() + filename);
}

From source file:com.gargoylesoftware.htmlunit.libraries.DojoTestBase.java

License:Apache License

void test(final String module) throws Exception {
    try {//from  w ww.  j a  v a2 s .  c o m

        final WebDriver webdriver = getWebDriver();
        final String url = URL_FIRST + "util/doh/runner.html?testModule=" + module;
        webdriver.get(url);

        final long runTime = 60 * DEFAULT_WAIT_TIME;
        final long endTime = System.currentTimeMillis() + runTime;

        // wait a bit to let the tests start
        Thread.sleep(DEFAULT_WAIT_TIME);

        String status = getResultElementText(webdriver);
        while (!"Stopped".equals(status)) {
            Thread.sleep(DEFAULT_WAIT_TIME);

            if (System.currentTimeMillis() > endTime) {
                fail("Test runs too long (longer than " + runTime / 1000 + "s)");
            }
            status = getResultElementText(webdriver);
        }

        Thread.sleep(100); // to make tests a bit more stable
        final WebElement output = webdriver.findElement(By.id("logBody"));
        final List<WebElement> lines = output.findElements(By.xpath(".//div"));

        final StringBuilder result = new StringBuilder();
        for (WebElement webElement : lines) {
            final String text = webElement.getText();
            if (StringUtils.isNotBlank(text)) {
                result.append(text);
                result.append("\n");
            }
        }

        String expFileName = StringUtils.replace(module, ".", "");
        expFileName = StringUtils.replace(expFileName, "_", "");
        String expected = loadExpectation(expFileName);
        expected = StringUtils.replace(expected, "\r\n", "\n");

        assertEquals(normalize(expected), normalize(result.toString()));
        // assertEquals(expected, result.toString());
    } catch (final Exception e) {
        e.printStackTrace();
        Throwable t = e;
        while ((t = t.getCause()) != null) {
            t.printStackTrace();
        }
        throw e;
    }
}

From source file:com.gargoylesoftware.htmlunit.libraries.ExtJS22Test.java

License:Apache License

/**
 * Loads the Ext JS test page using the specified example.
 *
 * @param example the example name/*from  w ww .ja v a 2s.  co m*/
 * @param htmlName the page name
 * @return the loaded page
 * @throws Exception if an error occurs
 */
protected WebDriver getPage(final String example, final String htmlName) throws Exception {
    final WebDriver driver = getWebDriver();
    driver.get(URL_FIRST + "examples/" + example + "/" + htmlName + ".html");
    return driver;
}

From source file:com.gargoylesoftware.htmlunit.libraries.JQuery1113Test.java

License:Apache License

/**
 * Runs the specified test.//from w w  w .  j a v a 2 s  .co m
 * @param testName the test name
 * @throws Exception if an error occurs
 */
protected void runTest(final String testName) throws Exception {
    final int testNumber = readTestNumber(testName);
    if (testNumber == -1) {
        assertEquals("Test number not found for: " + testName, 0, getExpectedAlerts().length);
        return;
    }
    final long runTime = 60 * DEFAULT_WAIT_TIME;
    final long endTime = System.currentTimeMillis() + runTime;

    try {
        final WebDriver webdriver = getWebDriver();
        final String url = "http://localhost:" + PORT + "/jquery/test/index.html?dev&testNumber=" + testNumber;
        webdriver.get(url);

        while (!getResultElementText(webdriver).startsWith("Tests completed")) {
            Thread.sleep(100);

            if (System.currentTimeMillis() > endTime) {
                fail("Test #" + testNumber + " runs too long (longer than " + runTime / 1000 + "s)");
            }
        }

        final WebElement output = webdriver.findElement(By.id("qunit-test-output0"));
        String result = output.getText();
        result = result.substring(0, result.indexOf("Rerun")).trim();
        final String expected = testName + " (" + getExpectedAlerts()[0] + ")";
        if (!expected.contains(result)) {
            System.out.println("--------------------------------------------");
            System.out.println("URL: " + url);
            System.out.println("--------------------------------------------");
            System.out.println("Test: " + webdriver.findElement(By.id("qunit-tests")).getText());
            System.out.println("--------------------------------------------");
            System.out.println("Failures:");
            final List<WebElement> failures = webdriver
                    .findElements(By.cssSelector(".qunit-assert-list li.fail"));
            for (WebElement webElement : failures) {
                System.out.println("  " + webElement.getText());
            }
            System.out.println("--------------------------------------------");

            fail(new ComparisonFailure("", expected, result).getMessage());
        }
    } catch (final Exception e) {
        e.printStackTrace();
        Throwable t = e;
        while ((t = t.getCause()) != null) {
            t.printStackTrace();
        }
        throw e;
    }
}

From source file:com.gargoylesoftware.htmlunit.libraries.JQuery182Test.java

License:Apache License

/**
 * Runs the specified test.//  ww  w .j  ava  2  s.  com
 * @param testName the test name
 * @throws Exception if an error occurs
 */
protected void runTest(final String testName) throws Exception {
    final int testNumber = readTestNumber(testName);
    if (testNumber == -1) {
        assertEquals("Test number not found for: " + testName, 0, getExpectedAlerts().length);
        return;
    }
    final long runTime = 60 * DEFAULT_WAIT_TIME;
    final long endTime = System.currentTimeMillis() + runTime;

    try {
        final WebDriver webdriver = getWebDriver();
        webdriver.get("http://localhost:" + PORT + "/jquery/test/index.html?testNumber=" + testNumber);

        final WebElement status = webdriver.findElement(By.id("qunit-testresult"));
        while (!status.getText().startsWith("Tests completed")) {
            Thread.sleep(100);

            if (System.currentTimeMillis() > endTime) {
                fail("Test #" + testNumber + " runs too long (longer than " + runTime / 1000 + "s)");
            }
        }

        final WebElement output = webdriver.findElement(By.id("qunit-test-output0"));
        String result = output.getText();
        result = result.substring(0, result.indexOf("Rerun")).trim();
        final String expected = testName + " (" + getExpectedAlerts()[0] + ")";
        if (!expected.contains(result)) {
            System.out.println("-> " + webdriver.findElement(By.id("qunit-tests")).getText());
            fail(new ComparisonFailure("", expected, result).getMessage());
        }
    } catch (final Exception e) {
        e.printStackTrace();
        Throwable t = e;
        while ((t = t.getCause()) != null) {
            t.printStackTrace();
        }
        throw e;
    }
}

From source file:com.gargoylesoftware.htmlunit.libraries.JQuery1x8x2Test.java

License:Apache License

/**
 * Runs the specified test.//from  www  .j a v  a 2  s .  c o  m
 * @param testName the test name
 * @throws Exception if an error occurs
 */
@Override
protected void runTest(final String testName) throws Exception {
    final int testNumber = readTestNumber(testName);
    if (testNumber == -1) {
        assertEquals("Test number not found for: " + testName, 0, getExpectedAlerts().length);
        return;
    }
    final long runTime = 60 * DEFAULT_WAIT_TIME;
    final long endTime = System.currentTimeMillis() + runTime;

    try {
        final WebDriver webdriver = getWebDriver();
        final String url = URL_FIRST + "jquery/test/index.html?testNumber=" + testNumber;
        webdriver.get(url);

        final WebElement status = webdriver.findElement(By.id("qunit-testresult"));
        while (!status.getText().startsWith("Tests completed")) {
            Thread.sleep(100);

            if (System.currentTimeMillis() > endTime) {
                fail("Test #" + testNumber + " runs too long (longer than " + runTime / 1000 + "s)");
            }
        }

        final WebElement output = webdriver.findElement(By.id("qunit-test-output0"));
        String result = output.getText();
        result = result.substring(0, result.indexOf("Rerun")).trim();
        final String expected = testName + " (" + getExpectedAlerts()[0] + ")";
        if (!expected.contains(result)) {
            System.out.println("-> " + webdriver.findElement(By.id("qunit-tests")).getText());
            fail(new ComparisonFailure("", expected, result).getMessage());
        }
    } catch (final Exception e) {
        e.printStackTrace();
        Throwable t = e;
        while ((t = t.getCause()) != null) {
            t.printStackTrace();
        }
        throw e;
    }
}

From source file:com.gargoylesoftware.htmlunit.libraries.JQueryTestBase.java

License:Apache License

/**
 * Runs the specified test./*  w  ww  .j a v  a 2  s.c  om*/
 * @param testName the test name
 * @throws Exception if an error occurs
 */
protected void runTest(final String testName) throws Exception {
    final int testNumber = readTestNumber(testName);
    if (testNumber == -1) {
        assertEquals("Test number not found for: " + testName, 0, getExpectedAlerts().length);
        return;
    }
    final long runTime = 60 * DEFAULT_WAIT_TIME;
    final long endTime = System.currentTimeMillis() + runTime;

    try {
        final WebDriver webdriver = getWebDriver();
        final String url = URL_FIRST + "jquery/test/index.html?dev&testNumber=" + testNumber;
        webdriver.get(url);

        while (!getResultElementText(webdriver).startsWith("Tests completed")) {
            Thread.sleep(100);

            if (System.currentTimeMillis() > endTime) {
                fail("Test #" + testNumber + " runs too long (longer than " + runTime / 1000 + "s)");
            }
        }

        final WebElement output = webdriver.findElement(By.id("qunit-test-output0"));
        String result = output.getText();
        result = result.substring(0, result.indexOf("Rerun")).trim();
        final String expected = testName + " (" + getExpectedAlerts()[0] + ")";
        if (!expected.contains(result)) {
            System.out.println("--------------------------------------------");
            System.out.println("URL: " + url);
            System.out.println("--------------------------------------------");
            System.out.println("Test: " + webdriver.findElement(By.id("qunit-tests")).getText());
            System.out.println("--------------------------------------------");
            System.out.println("Failures:");
            final List<WebElement> failures = webdriver
                    .findElements(By.cssSelector(".qunit-assert-list li.fail"));
            for (WebElement webElement : failures) {
                System.out.println("  " + webElement.getText());
            }
            System.out.println("--------------------------------------------");

            fail(new ComparisonFailure("", expected, result).getMessage());
        }
    } catch (final Exception e) {
        e.printStackTrace();
        Throwable t = e;
        while ((t = t.getCause()) != null) {
            t.printStackTrace();
        }
        throw e;
    }
}