private WebDriver openWebDriver() {
'Open Webdriver - without all the logs thank-you!'
System.setProperty(ChromeDriverService.CHROME_DRIVER_VERBOSE_LOG_PROPERTY, "false")
System.setProperty(ChromeDriverService.CHROME_DRIVER_SILENT_OUTPUT_PROPERTY, "true")
def seleniumLogLevel = java.util.logging.Logger.getLogger("org.openqa.selenium").getLevel()
java.util.logging.Logger.getLogger("org.openqa.selenium").setLevel(Level.SEVERE)
PrintStream oldErr = System.err
PrintStream oldOut = System.out
ByteArrayOutputStream baosErr = new ByteArrayOutputStream()
System.setErr(new PrintStream(baosErr))
ByteArrayOutputStream baosOut = new ByteArrayOutputStream()
System.setErr(new PrintStream(baosOut))
WebDriver driver = DriverFactory.openWebDriver()
System.err.flush()
System.setErr(oldErr)
System.out.flush()
System.setOut(oldOut)
def err = baosErr.toString().trim()
if (err.length() > 0) {
logger.logInfo("${err}")
}
def out = baosOut.toString().trim()
if (out.length() > 0) {
logger.logInfo("${out}")
}
// reset after
java.util.logging.Logger.getLogger("org.openqa.selenium").setLevel(seleniumLogLevel) // can be null
return driver
}