Example usage for org.openqa.selenium.logging Logs getAvailableLogTypes

List of usage examples for org.openqa.selenium.logging Logs getAvailableLogTypes

Introduction

In this page you can find the example usage for org.openqa.selenium.logging Logs getAvailableLogTypes.

Prototype

Set<String> getAvailableLogTypes();

Source Link

Document

Queries for available log types.

Usage

From source file:com.google.caja.plugin.WebDriverHandle.java

License:Apache License

public void captureResults(String name) {
    if (driver == null) {
        return;// www.  j  a v  a2  s.c  om
    }

    String dir = TestFlag.CAPTURE_TO.getString("");
    if ("".equals(dir)) {
        return;
    }

    if (!dir.endsWith("/")) {
        dir = dir + "/";
    }
    mkdirs(dir);

    // Try to capture the final html
    try {
        String source = driver.getPageSource();
        if (source != null) {
            saveToFile(dir + name + ".capture.html", source);
        }
    } catch (WebDriverException e) {
        Echo.echo("capture html failed: " + e);
    }

    // Try to capture a screenshot
    if (driver instanceof TakesScreenshot) {
        TakesScreenshot ss = (TakesScreenshot) driver;
        try {
            byte[] bytes = ss.getScreenshotAs(OutputType.BYTES);
            saveToFile(dir + name + ".capture.png", bytes);
        } catch (WebDriverException e) {
            Echo.echo("capture screenshot failed: " + e);
        }
    }

    // Try to capture logs
    try {
        Logs logs = driver.manage().logs();
        if (logs != null) {
            if (logs.getAvailableLogTypes().contains(LogType.BROWSER)) {
                LogEntries entries = logs.get(LogType.BROWSER);
                if (entries != null) {
                    StringBuilder sb = new StringBuilder();
                    for (LogEntry e : entries) {
                        sb.append(e.toString() + "\n");
                    }
                    saveToFile(dir + name + ".capture.log", sb.toString());
                }
            }
        }
    } catch (WebDriverException e) {
        Echo.echo("capture logs failed: " + e);
    }
}

From source file:org.cerberus.service.engine.impl.WebDriverService.java

License:Open Source License

@Override
public List<String> getSeleniumLog(Session session) {
    List<String> result = new ArrayList();
    Logs logs = session.getDriver().manage().logs();

    for (String logType : logs.getAvailableLogTypes()) {
        LogEntries logEntries = logs.get(logType);
        result.add("********************" + logType + "********************\n");
        for (LogEntry logEntry : logEntries) {
            result.add(new Date(logEntry.getTimestamp()) + " : " + logEntry.getLevel() + " : "
                    + logEntry.getMessage() + "\n");
        }// w w  w . j  av a 2  s.  com
    }

    return result;
}

From source file:org.musetest.selenium.plugins.WebdriverCapturePlugin.java

License:Open Source License

private void collectLogs() {
    if (_logs_collected)
        return;/*from   w w  w  .j a va2 s  .  com*/
    if (_collect_logs) {
        try {
            final Logs logs = getDriver().manage().logs();
            for (String type : logs.getAvailableLogTypes()) {
                StringBuilder builder = new StringBuilder();
                for (LogEntry entry : logs.get(type).getAll()) {
                    if (builder.length() > 0)
                        builder.append("\n");
                    builder.append(entry.toString());
                }
                _data.add(new LogData(type, builder.toString().getBytes()));
            }
        } catch (Exception e) {
            LOG.error("Unable to access WebDriver logs", e);
        }
        _logs_collected = true;
    }
}