/** * Converts the JDK level to a name supported by Selenium. * * @param level log level to get the string name of * @return string name representation of the level selenium supports */ public static String getName(Level level) { Level normalized = normalize(level); return normalized == Level.FINE ? DEBUG : normalized.getName(); }
public static SessionLogs fromJSON(Map<String, Object> rawSessionLogs) { SessionLogs sessionLogs = new SessionLogs(); for (Map.Entry<String, Object> entry : rawSessionLogs.entrySet()) { String logType = entry.getKey(); Collection<?> rawLogEntries = (Collection<?>) entry.getValue(); List<LogEntry> logEntries = new ArrayList<>(); for (Object o : rawLogEntries) { @SuppressWarnings("unchecked") Map<String, Object> rawEntry = (Map<String, Object>) o; logEntries.add(new LogEntry( LogLevelMapping.toLevel(String.valueOf(rawEntry.get("level"))), ((Number) rawEntry.get("timestamp")).longValue(), String.valueOf(rawEntry.get("message")))); } sessionLogs.addLog(logType, new LogEntries(logEntries)); } return sessionLogs; }
@Beta public Map<String, Object> toJson() { TreeMap<String, Object> converted = new TreeMap<>(); for (String logType : getEnabledLogTypes()) { converted.put(logType, LogLevelMapping.getName(getLevel(logType))); } return converted; } }
protected void setCapability(String key, Object value) { Objects.requireNonNull(key, "Cannot set a capability without a name"); if (value == null) { caps.remove(key); return; } if ("loggingPrefs".equals(key) && value instanceof Map) { LoggingPreferences prefs = new LoggingPreferences(); @SuppressWarnings("unchecked") Map<String, String> prefsMap = (Map<String, String>) value; for (String logType : prefsMap.keySet()) { prefs.enable(logType, LogLevelMapping.toLevel(prefsMap.get(logType))); } caps.put(key, prefs); return; } if ("platform".equals(key) && value instanceof String) { try { caps.put(key, Platform.fromString((String) value)); } catch (WebDriverException e) { caps.put(key, value); } return; } if ("unexpectedAlertBehaviour".equals(key)) { caps.put("unexpectedAlertBehaviour", value); caps.put("unhandledPromptBehavior", value); return; } caps.put(key, value); }