private StringBuilder formatedBrowserLogs() { StringBuilder logEntries = new StringBuilder(); SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); for (LogEntry logEntry : getBrowserLog().getAll()) { logEntries.append(logEntry.getLevel()).append(": ") .append(sdfDate.format(logEntry.getTimestamp())).append(": ") .append(logEntry.getMessage()).append(System.lineSeparator()); } return logEntries; }
String getError( WebDriver driver){ String retVal=""; System.err.println("getError( WebDriver driver)"); LogEntries logEntries = driver.manage().logs().get(LogType.BROWSER); for (LogEntry logEntry : logEntries) { // Get log message, timestamp and level. System.err.println("LogEntry:"+logEntry.getMessage()); // ignoro los logs ya mostrados if (logEntry.getTimestamp()<= lastTimeStamp) continue; String errorData= logEntry.getMessage(); // Me fijo si lo que dice el log es una de las causas usadas para reportar error for (String err : errorStrings){ if(errorData.toUpperCase().contains(err.subSequence(0,err.length()))){ retVal += errorData +"\n"; lastTimeStamp = logEntry.getTimestamp(); break; } } } // Si no hay errores retorna null return (retVal.compareTo("")==0)? null: retVal; }
public void printBrowserLogs() { if (logger.isTraceEnabled()){ final Logs logs = webDriver.manage().logs(); if (logs != null) { final LogEntries logEntries = logs.get(LogType.BROWSER); final StringBuilder buf = new StringBuilder(); buf.append("BROWSER LOGS:\n\n"); for (final LogEntry entry : logEntries) { buf.append(new Date(entry.getTimestamp()) + " " + entry.getLevel() + " " + entry.getMessage() + "\n"); } logger.trace(buf.toString()); } } } }
private String prepareBrowserLogs() { StringBuilder browserLogsOutput = new StringBuilder("Browser console logs:\n").append("---------------------\n"); readBrowserLogs() .forEach( logEntry -> browserLogsOutput.append( format( "%s %s %s\n\n", formatTime(logEntry.getTimestamp()), logEntry.getLevel(), logEntry.getMessage()))); return browserLogsOutput.toString(); }
protected void storeLogs(Logs logs, String type) { StringBuilder sb = new StringBuilder(); try { LogEntries logEntries = logs.get(type); for (LogEntry entry : logEntries) { sb.append(formatLog(new Date(entry.getTimestamp()), entry.getLevel(), entry.getMessage())); } } catch (WebDriverException e) { sb.append(formatLog(new Date(), Level.SEVERE, "Unable to get webdriver logs for type " + type + ".\n" + e)); } String logStr = sb.toString(); if (!logStr.isEmpty()) seb.saveFile(logStr, "webdriver-" + type, "log"); }
/** filter data and get requests/responses that have been sent on CHE URL */ private String prepareCheNetworkLogs() throws JsonParseException { StringBuilder networkLogsOutput = new StringBuilder("Eclipse Che network logs: \n").append("-------------------------\n"); Map<String, List<Log>> networkLogs = new HashMap<>(); for (LogEntry logEntry : readPerformanceLogs()) { Log log = JsonHelper.fromJson(logEntry.getMessage(), Log.class, null); if (log.isNetworkLog()) { log.setTimestamp(logEntry.getTimestamp()); if (networkLogs.containsKey(log.getRequestId())) { networkLogs.get(log.getRequestId()).add(log); } else { ArrayList<Log> logs = new ArrayList<>(); logs.add(log); networkLogs.put(log.getRequestId(), logs); } if (isLogFromCheTraffic(log.getRequestId(), networkLogs)) { networkLogsOutput.append(log.toString()); } else { networkLogs.remove(log.getRequestId()); } } } return networkLogsOutput.toString(); }
if (!entry.getLevel().equals(Level.OFF)) { SimpleDateFormat format = new SimpleDateFormat("YYMMddHHmmss"); System.out.println(format.format(new Date(entry.getTimestamp())) + " " + entry.getLevel() + " " + entry.getMessage());
private void logErrors(String url, LogEntries logEntries) { if (logEntries.getAll().size() == 0) { TestLogging.log("********* No Severe Error on Browser Console *********", true); } else { for (LogEntry logEntry : logEntries) { if (logEntry.getLevel().equals(Level.SEVERE)) { TestLogging.log("URL: "+url); TestLogging.logWebStep("Time stamp: " + logEntry.getTimestamp() + ", " + "Log level: " + logEntry .getLevel() + ", Log message: " + logEntry.getMessage(), true); isJSErrorFound = true; } } assert !isJSErrorFound; } }
private void logErrors(String event, WebElement element, LogEntries logEntries) { if (logEntries.getAll().size() == 0) { TestLogging.log("********* No Severe Error on Browser Console *********", true); } else { for (LogEntry logEntry : logEntries) { if (logEntry.getLevel().equals(Level.SEVERE)) { TestLogging.log("Sever Console Error on Browser "+event+" clicking " + "element: " +((HtmlElement)element).getBy()); TestLogging.logWebStep("Time stamp: " + logEntry.getTimestamp() + ", " + "Log level: " + logEntry .getLevel() + ", Log message: " + logEntry.getMessage(), true); isJSErrorFound = true; } } assert !isJSErrorFound; } }
@After public void tearDown() { if (driver != null) { for (LogEntry entry : driver.manage().logs().get("safariConsole")) { HashMap<String, Object> consoleEntry = new Json().toType(entry.getMessage(), Json.MAP_TYPE); System.out.println(String.format( "%s [%s] %s", entry.getTimestamp(), entry.getLevel(), consoleEntry.get("text"))); } driver.quit(); } }