Example usage for org.openqa.selenium WebDriver getPageSource

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

Introduction

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

Prototype

String getPageSource();

Source Link

Document

Get the source of the last loaded page.

Usage

From source file:org.codelibs.fess.crawler.client.http.WebDriverClient.java

License:Apache License

@Override
public ResponseData execute(final RequestData request) {
    WebDriver webDriver = null;
    try {//ww  w .ja v  a2s  .  c  o  m
        webDriver = webDriverPool.borrowObject();

        Map<String, String> paramMap = null;
        final String url = request.getUrl();
        final String metaData = request.getMetaData();
        if (StringUtil.isNotBlank(metaData)) {
            paramMap = parseParamMap(metaData);
        }

        if (!url.equals(webDriver.getCurrentUrl())) {
            webDriver.get(url);
        }

        if (logger.isDebugEnabled()) {
            logger.debug("Base URL: " + url + "\nContent: " + webDriver.getPageSource());
        }

        if (paramMap != null) {
            final String processorName = paramMap.get(UrlAction.URL_ACTION);
            final UrlAction urlAction = urlActionMap.get(processorName);
            if (urlAction == null) {
                throw new CrawlerSystemException("Unknown processor: " + processorName);
            }
            urlAction.navigate(webDriver, paramMap);
        }

        final String source = webDriver.getPageSource();

        final ResponseData responseData = new ResponseData();

        responseData.setUrl(webDriver.getCurrentUrl());
        responseData.setMethod(request.getMethod().name());
        responseData.setContentLength(source.length());

        final String charSet = getCharSet(webDriver);
        responseData.setCharSet(charSet);
        responseData.setHttpStatusCode(getStatusCode(webDriver));
        responseData.setLastModified(getLastModified(webDriver));
        responseData.setMimeType(getContentType(webDriver));

        responseData.setResponseBody(source.getBytes(charSet));

        for (final UrlAction urlAction : urlActionMap.values()) {
            urlAction.collect(url, webDriver, responseData);
        }

        return responseData;
    } catch (final Exception e) {
        throw new CrawlerSystemException("Failed to access " + request.getUrl(), e);
    } finally {
        if (webDriver != null) {
            try {
                webDriverPool.returnObject(webDriver);
            } catch (final Exception e) {
                logger.warn("Failed to return a returned object.", e);
            }
        }
    }
}

From source file:org.codelibs.robot.client.http.WebDriverClient.java

License:Apache License

@Override
public ResponseData execute(final RequestData request) {
    WebDriver webDriver = null;
    try {/*from  w w  w  .java  2s . com*/
        webDriver = webDriverPool.borrowObject();

        Map<String, String> paramMap = null;
        final String url = request.getUrl();
        final String metaData = request.getMetaData();
        if (StringUtil.isNotBlank(metaData)) {
            paramMap = parseParamMap(metaData);
        }

        if (!url.equals(webDriver.getCurrentUrl())) {
            webDriver.get(url);
        }

        if (logger.isDebugEnabled()) {
            logger.debug("Base URL: " + url + "\nContent: " + webDriver.getPageSource());
        }

        if (paramMap != null) {
            final String processorName = paramMap.get(UrlAction.URL_ACTION);
            final UrlAction urlAction = urlActionMap.get(processorName);
            if (urlAction == null) {
                throw new RobotSystemException("Unknown processor: " + processorName);
            }
            urlAction.navigate(webDriver, paramMap);
        }

        final String source = webDriver.getPageSource();

        final ResponseData responseData = new ResponseData();

        responseData.setUrl(webDriver.getCurrentUrl());
        responseData.setMethod(request.getMethod().name());
        responseData.setContentLength(source.length());

        final String charSet = getCharSet(webDriver);
        responseData.setCharSet(charSet);
        responseData.setHttpStatusCode(getStatusCode(webDriver));
        responseData.setLastModified(getLastModified(webDriver));
        responseData.setMimeType(getContentType(webDriver));

        responseData.setResponseBody(new ByteArrayInputStream(source.getBytes(charSet)));

        for (final UrlAction urlAction : urlActionMap.values()) {
            urlAction.collect(url, webDriver, responseData);
        }

        return responseData;
    } catch (final Exception e) {
        throw new RobotSystemException("Failed to access " + request.getUrl(), e);
    } finally {
        if (webDriver != null) {
            try {
                webDriverPool.returnObject(webDriver);
            } catch (final Exception e) {
                logger.warn("Failed to return a returned object.", e);
            }
        }
    }
}

From source file:org.jboss.arquillian.graphene.context.TestGrapheneProxyHandler.java

License:Open Source License

@Test
public void test_webDriver_methods_which_should_not_return_proxy() {
    IsNotProxyable isNotProxyable = new IsNotProxyable();

    // when//from  w  ww  . java2s  . com
    WebDriver driver = Mockito.mock(WebDriver.class, isNotProxyable);
    Options options = mock(Options.class, isNotProxyable);
    Navigation navigation = mock(Navigation.class, isNotProxyable);
    ImeHandler ime = mock(ImeHandler.class, isNotProxyable);
    Logs logs = mock(Logs.class, isNotProxyable);

    // then
    try {
        driver.toString();
        driver.close();
        driver.equals(new Object());
        driver.get("");
        driver.getClass();
        driver.getCurrentUrl();
        driver.getPageSource();
        driver.getTitle();
        driver.getWindowHandle();
        driver.hashCode();
        driver.quit();
        driver.toString();

        options.addCookie(mock(Cookie.class));
        options.deleteAllCookies();
        options.deleteCookie(mock(Cookie.class));
        options.deleteCookieNamed("");
        options.getCookieNamed("");

        navigation.back();
        navigation.forward();
        navigation.to("");
        navigation.to(new URL("http://localhost/"));

        ime.activateEngine("");
        ime.deactivate();
        ime.getActiveEngine();
        ime.isActivated();

        logs.get("");

    } catch (Exception e) {
        throw new RuntimeException(e);
    }

    assertEquals(Arrays.asList(), isNotProxyable.getViolations());
}

From source file:org.jenkinsci.test.acceptance.selenium.SanityChecker.java

License:Open Source License

/**
 * Quickly determine if the driver is definitely in the safe state.
 *
 * <p>/*from   w  ww .java 2  s  .co  m*/
 * The expectation is that the most of the time this would return true,
 * and reduces the overhead of {@link SanityChecker}.
 */
private boolean isFastPath(WebDriver driver) {
    final String pageSource = driver.getPageSource();
    return !(pageSource.contains("Oops!") || pageSource.contains("Try POSTing"));
}

From source file:org.jitsi.meet.test.FailureListener.java

License:Apache License

/**
 * Saves the html source of the supplied page.
 * @param driver the driver controlling the page.
 * @param fileName the destination html file name.
 */// www.java 2s  . c  o  m
private void saveHtmlSource(WebDriver driver, String fileName) {
    try {
        FileUtils.openOutputStream(new File(outputHtmlSourceParentFolder, fileName))
                .write(driver.getPageSource().getBytes());
    } catch (Throwable t) {
        t.printStackTrace();
    }
}

From source file:org.keycloak.testsuite.adapter.AbstractSAMLAdapterClusteredTest.java

License:Apache License

protected void assertSuccessfulLogin(SAMLServlet page, UserRepresentation user, Login loginPage,
        String expectedString) {//  w  ww .ja va2  s. c  om
    page.navigateTo();
    assertCurrentUrlStartsWith(loginPage);
    loginPage.form().login(user);
    WebDriverWait wait = new WebDriverWait(driver, WaitUtils.PAGELOAD_TIMEOUT_MILLIS / 1000);
    wait.until((WebDriver d) -> d.getPageSource().contains(expectedString));
}

From source file:org.keycloak.testsuite.adapter.AdapterTestStrategy.java

License:Open Source License

protected void loginAndCheckSession(WebDriver driver, LoginPage loginPage) {
    driver.navigate().to(APP_SERVER_BASE_URL + "/session-portal");
    String currentUrl = driver.getCurrentUrl();
    Assert.assertTrue(currentUrl.startsWith(LOGIN_URL));
    loginPage.login("bburke@redhat.com", "password");
    System.out.println("Current url: " + driver.getCurrentUrl());
    Assert.assertEquals(driver.getCurrentUrl(), APP_SERVER_BASE_URL + "/session-portal" + slash);
    String pageSource = driver.getPageSource();
    Assert.assertTrue(pageSource.contains("Counter=1"));

    // Counter increased now
    driver.navigate().to(APP_SERVER_BASE_URL + "/session-portal");
    pageSource = driver.getPageSource();
    Assert.assertTrue(pageSource.contains("Counter=2"));

}

From source file:org.keycloak.testsuite.adapter.servlet.AbstractSessionServletAdapterTest.java

License:Apache License

private void loginAndCheckSession(WebDriver driver, Login login) {
    sessionPortalPage.navigateTo();//w ww  .  j  av  a2 s. c om
    assertCurrentUrlStartsWithLoginUrlOf(testRealmPage);
    login.form().login("bburke@redhat.com", "password");
    assertEquals(driver.getCurrentUrl(), sessionPortalPage.toString());
    String pageSource = driver.getPageSource();
    assertTrue(pageSource.contains("Counter=1"));

    // Counter increased now
    sessionPortalPage.navigateTo();
    pageSource = driver.getPageSource();
    assertTrue(pageSource.contains("Counter=2"));
}

From source file:org.keycloak.testsuite.JettySamlTest.java

License:Apache License

@Test
public void testPostSimpleUnauthorized() {
    testStrategy.testPostSimpleUnauthorized(new SamlAdapterTestStrategy.CheckAuthError() {
        @Override/* w w w . j a v a  2s  .c o  m*/
        public void check(WebDriver driver) {
            Assert.assertTrue(driver.getPageSource().contains("Error 403 !role"));
        }
    });
}

From source file:org.keycloak.testsuite.keycloaksaml.SamlAdapterTest.java

License:Apache License

@Test
public void testPostSimpleUnauthorized() {
    testStrategy.testPostSimpleUnauthorized(new SamlAdapterTestStrategy.CheckAuthError() {
        @Override/* w ww.j  a  v  a 2  s  . c o  m*/
        public void check(WebDriver driver) {
            String pageSource = driver.getPageSource();
            Assert.assertTrue(pageSource.contains("Error Page"));
        }
    });
}