Skip to content

Instantly share code, notes, and snippets.

@sergebug
Last active November 15, 2018 17:47
Show Gist options
  • Save sergebug/f2472c24acc00f3d68212da6c073671e to your computer and use it in GitHub Desktop.
Save sergebug/f2472c24acc00f3d68212da6c073671e to your computer and use it in GitHub Desktop.
webdriver browser log reading for javascript errors

Add log level to desired capabilities:

        DesiredCapabilities capabilities = DesiredCapabilities.chrome();
        LoggingPreferences loggingprefs = new LoggingPreferences();
        loggingprefs.enable(LogType.BROWSER, Level.SEVERE);
        capabilities.setCapability(CapabilityType.LOGGING_PREFS, loggingprefs);

Create new instance of the webdriver using the capabilities above

driver = new RemoteWebDriver(new URL(gridURL), capabilities);

Define method to retrieve logs:

public static LogEntries getBrowserLogs(WebDriver driver) {
        try {
            LogEntries logs = driver.manage().logs().get(LogType.BROWSER);
            logs.forEach(logEntry -> {
                logger.warn(logEntry.getLevel().toString() + ":" + logEntry.getMessage());
            });
            return logs;
        } catch (Exception e) {
            logger.warn("Unable to retrieve browser logs from webdriver.", e.getMessage());
            return null;
        }
    }

Use method to fail the test:

        LogEntries logs = WebDriverHelper.getBrowserLogs(driver);
        Assert.assertFalse((logs != null) && (logs.getAll().size() != 0), "Javascript contains SEVERE errors");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment