I am having issues getting chrome browser console log [INFO] entries with Selenium and the only Level type of entries I am getting are the errors(WARNING, SEVERE).
Is there any way to get anything different than the error entries as I need to get the [INFO] entries and assert based on their content, I have read recently that Selenium is able to return entries only for errors is that accurate?
Would really appreciate any information given, thank you for your attention and time!
thank you for your answer but unfortunately none of them worked for me, I have managed to come up with a solution for my issue using:
ChromeOptions options = new ChromeOptions();
options.setCapability(ChromeOptions.CAPABILITY, getCap());
WebDriver driver = new ChromeDriver(options);
Alongside with the custom made method:
private static DesiredCapabilities getCap() {
DesiredCapabilities caps = DesiredCapabilities.chrome();
LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable(LogType.PERFORMANCE, Level.INFO);
logPrefs.enable(LogType.PROFILER, Level.INFO);
logPrefs.enable(LogType.BROWSER, Level.INFO);
logPrefs.enable(LogType.CLIENT, Level.INFO);
logPrefs.enable(LogType.DRIVER, Level.INFO);
logPrefs.enable(LogType.SERVER, Level.INFO);
caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);
return caps;
}
And finally had to make a filter method as the Selenium one was not working properly for me and was returning all of the entries:
private static List<LogEntry> filterLog(LogEntries entries) {
List<LogEntry> logs = new ArrayList<>();
for (LogEntry entry : entries) {
if(entry.getLevel().toString().equals(INFO)) {
logs.add(entry);
}
}
return logs;
}
From the documentation (http://chromedriver.chromium.org/logging):
By default ChromeDriver logs only warnings/errors to stderr. When debugging issues, it is helpful to enable more verbose logging.
Also from documentation:
System.setProperty("webdriver.chrome.logfile", "D:\\chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogging", "true");
Hope that works.
Alternative Option
You could try the following if the above doesn't work, this time using the ChromeOptions
object instead:
ChromeOptions options = new ChromeOptions();
options.setArguments("--log-level=1");
or from (https://www.chromium.org/for-testers/enable-logging)
To enable logging, launch Chrome with these command line flags: --enable-logging --v=1
Which translates into:
options.setArguments("--enable-logging --v=1");
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With