LoggingPreferences logs = new LoggingPreferences(); logs.enable(LogType.BROWSER, Level.ALL); logs.enable(LogType.CLIENT, Level.ALL); logs.enable(LogType.DRIVER, Level.ALL); logs.enable(LogType.PERFORMANCE, Level.ALL); logs.enable(LogType.PROFILER, Level.ALL); logs.enable(LogType.SERVER, Level.ALL); DesiredCapabilities desiredCapabilities = DesiredCapabilities.firefox(); desiredCapabilities.setCapability(CapabilityType.LOGGING_PREFS, logs); WebDriver driver = new FirefoxDriver(desiredCapabilities);
Logs logs = driver.manage().logs(); LogEntries logEntries = logs.get(LogType.DRIVER); for (LogEntry logEntry : logEntries) { System.out.println(logEntry.getMessage()); }
@Test public void testSimpleSamlLoginWithAddShadowUserOnLoginFalse() throws Exception { // Deleting marissa@test.org from simplesamlphp because previous SAML authentications automatically // create a UAA user with the email address as the username. deleteUser(SAML_ORIGIN, testAccounts.getEmail()); IdentityProvider provider = IntegrationTestUtils.createIdentityProvider(SAML_ORIGIN, false, baseUrl, serverRunning); String clientId = "app-addnew-false"+ new RandomValueStringGenerator().generate(); String redirectUri = "http://nosuchhostname:0/nosuchendpoint"; BaseClientDetails client = createClientAndSpecifyProvider(clientId, provider, redirectUri); String firstUrl = "/oauth/authorize?" + "client_id=" + clientId + "&response_type=code" + "&redirect_uri=" + URLEncoder.encode(redirectUri, "UTF-8"); webDriver.get(baseUrl + firstUrl); webDriver.findElement(By.xpath("//h2[contains(text(), 'Enter your username and password')]")); webDriver.findElement(By.name("username")).clear(); webDriver.findElement(By.name("username")).sendKeys(testAccounts.getUserName()); webDriver.findElement(By.name("password")).sendKeys(testAccounts.getPassword()); webDriver.findElement(By.xpath("//input[@value='Login']")).click(); // We need to verify the last request URL through the performance log because the redirect // URI does not exist. When the webDriver follows the non-existent redirect URI it receives a // connection refused error so webDriver.getCurrentURL() will remain as the SAML IdP URL. List<LogEntry> logEntries = webDriver.manage().logs().get(LogType.PERFORMANCE).getAll(); List<String> logMessages = logEntries.stream().map(logEntry -> logEntry.getMessage()).collect(Collectors.toList()); assertThat(logMessages, hasItem(containsString(redirectUri + "?error=access_denied&error_description=SAML+user+does+not+exist.+You+can+correct+this+by+creating+a+shadow+user+for+the+SAML+user."))); }
/** * Adds the given logging preferences giving them precedence over existing * preferences. * * @param prefs The logging preferences to add. * @return A references to this object. */ public LoggingPreferences addPreferences(LoggingPreferences prefs) { if (prefs == null) { return this; } for (String logType : prefs.getEnabledLogTypes()) { enable(logType, prefs.getLevel(logType)); } return this; }
public LogEntries get(String logType) { if (LogType.CLIENT.equals(logType)) { LoggingHandler loggingHandler = LoggingHandler.getInstance(); List<LogEntry> entries = loggingHandler.getRecords(); loggingHandler.flush(); return new LogEntries(entries); } return new LogEntries(Lists.<LogEntry>newArrayList()); }
public LogEntries get(String logType) { return new LogEntries(getLocalLogs(logType)); }
@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; } }
@Override public synchronized void publish(LogRecord logRecord) { if (isLoggable(logRecord)) { if (records.size() > MAX_RECORDS) { records.remove(); } records.add(new LogEntry(logRecord.getLevel(), logRecord.getMillis(), logRecord.getLoggerName() + " " + logRecord.getSourceClassName() + "." + logRecord.getSourceMethodName() + " " + logRecord.getMessage())); } }
LogEntry toLogEntry() { return new LogEntry(level, timestamp, message); }
private void log(String logType, LogEntry entry) { logs.addEntry(logType, entry); }
/** * See documentation of CompositeLocalLogs about the difference between the first * LocalLogs instance and the second one. * @param predefinedTypeLogger LocalLogs which pre-defines the log types it stores. * @param allTypesLogger LocalLogs which can store log entries for all log types. * @return A LocalLogs instance. */ public static LocalLogs getCombinedLogsHolder(LocalLogs predefinedTypeLogger, LocalLogs allTypesLogger) { return new CompositeLocalLogs(predefinedTypeLogger, allTypesLogger); }
public static LocalLogs getHandlerBasedLoggerInstance(LoggingHandler loggingHandler, Set<String> logTypesToInclude) { return new HandlerBasedLocalLogs(loggingHandler, logTypesToInclude); }
public static LocalLogs getStoringLoggerInstance(Set<String> logTypesToIgnore) { return new StoringLocalLogs(logTypesToIgnore); }
System.setProperty("webdriver.chrome.driver", "c:\\path\\to\\chromedriver.exe"); DesiredCapabilities caps = DesiredCapabilities.chrome(); LoggingPreferences logPrefs = new LoggingPreferences(); logPrefs.enable(LogType.BROWSER, Level.ALL); caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs); driver = new ChromeDriver(caps);
@Bean(destroyMethod = "quit") public ChromeDriver webDriver() { System.setProperty("webdriver.chrome.logfile", "/tmp/chromedriver.log"); System.setProperty("webdriver.chrome.verboseLogging", "true"); ChromeOptions options = new ChromeOptions(); options.addArguments( "--verbose", "--headless", "--disable-web-security", "--ignore-certificate-errors", "--allow-running-insecure-content", "--allow-insecure-localhost", "--no-sandbox", "--disable-gpu" ); LoggingPreferences logs = new LoggingPreferences(); logs.enable(LogType.PERFORMANCE, Level.ALL); options.setCapability(CapabilityType.LOGGING_PREFS, logs); options.setAcceptInsecureCerts(true); ChromeDriver driver = new ChromeDriver(options); driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS); driver.manage().timeouts().setScriptTimeout(15, TimeUnit.SECONDS); driver.manage().window().setSize(new Dimension(1024, 768)); return driver; }
LoggingPreferences getLoggingPrefs() { LoggingPreferences prefs = new LoggingPreferences(); prefs.enable(LogType.BROWSER, Level.OFF); prefs.enable(LogType.CLIENT, Level.OFF); prefs.enable(LogType.DRIVER, Level.OFF); prefs.enable(LogType.PERFORMANCE, Level.OFF); prefs.enable(LogType.PROFILER, Level.OFF); prefs.enable(LogType.SERVER, Level.OFF); return prefs; }
private LoggingPreferences setupLogging() { LoggingPreferences logPrefs = new LoggingPreferences(); logPrefs.enable(DRIVER, ALL); logPrefs.enable(PERFORMANCE, ALL); return logPrefs; }
System.setProperty("webdriver.chrome.driver", "c:\\path\\to\\chromedriver.exe"); DesiredCapabilities caps = DesiredCapabilities.chrome(); LoggingPreferences logPrefs = new LoggingPreferences(); logPrefs.enable(LogType.BROWSER, Level.ALL); caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs); driver = new ChromeDriver(caps);
LoggingPreferences logPrefs = new LoggingPreferences(); logPrefs.enable(LogType.PERFORMANCE, Level.ALL); cap.setCapability(CapabilityType.LOGGING_PREFS, logPrefs);