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");