diff --git a/src/main/java/org/sayem/webdriver/browsers/config/BrowserThreads.java b/src/main/java/org/sayem/webdriver/browsers/config/BrowserThreads.java index e996861..77906ab 100644 --- a/src/main/java/org/sayem/webdriver/browsers/config/BrowserThreads.java +++ b/src/main/java/org/sayem/webdriver/browsers/config/BrowserThreads.java @@ -11,6 +11,7 @@ import org.openqa.selenium.remote.RemoteWebDriver; import org.sayem.webdriver.TestBase; import org.sayem.webdriver.properties.Repository; +import org.slf4j.Logger; import java.net.InetSocketAddress; import java.net.MalformedURLException; @@ -19,12 +20,14 @@ import static org.openqa.selenium.Proxy.ProxyType.MANUAL; import static org.sayem.webdriver.browsers.config.BrowserType.FIREFOX; import static org.sayem.webdriver.browsers.config.BrowserType.valueOf; +import static org.slf4j.LoggerFactory.getLogger; /** * Created by sayem on 10/05/15. */ public class BrowserThreads { + private static final Logger log = getLogger(BrowserThreads.class); private final String defaultUrl = System.getProperty("seleniumUrl"); private final BrowserType defaultBrowserType = getBrowser(); private final String browser = System.getProperty("browser", defaultBrowserType.toString()).toUpperCase(); @@ -97,19 +100,19 @@ private void determineEffectiveDriverType() { try { driverType = valueOf(browser); } catch (IllegalArgumentException ignored) { - System.err.println("Unknown driver specified, defaulting to '" + driverType + "'..."); + log.error("Unknown driver specified, defaulting to '" + driverType + "'..."); } catch (NullPointerException ignored) { - System.err.println("No driver specified, defaulting to '" + driverType + "'..."); + log.error("No driver specified, defaulting to '" + driverType + "'..."); } selectedDriverType = driverType; } private void instantiateWebDriver(DesiredCapabilities desiredCapabilities) { - System.out.println(" "); - System.out.println("Current Operating System: " + operatingSystem); - System.out.println("Current Architecture: " + systemArchitecture); - System.out.println("Current Browser Selection: " + selectedDriverType); - System.out.println(" "); + log.info(" "); + log.info("Current Operating System: " + operatingSystem); + log.info("Current Architecture: " + systemArchitecture); + log.info("Current Browser Selection: " + selectedDriverType); + log.info(" "); if (useRemoteWebDriver) { URL seleniumGridURL = null; @@ -139,7 +142,7 @@ private void instantiateWebDriver(DesiredCapabilities desiredCapabilities) { private void setup() { if (defaultUrl.isEmpty()) { - System.err.println("No URL specified, defaulting to: " + defaultUrl + "'..."); + log.error("No URL specified, defaulting to: " + defaultUrl + "'..."); webdriver.navigate().to(TestBase.getProperties(Repository.URL)); }else { webdriver.navigate().to(defaultUrl); @@ -151,9 +154,9 @@ private BrowserType getBrowser() { try { browserType = valueOf(TestBase.getProperties(Repository.BROWSER).toUpperCase()); } catch (IllegalArgumentException ignored) { - System.err.println("Unknown driver specified, defaulting to '" + browserType + "'..."); + log.error("Unknown driver specified, defaulting to '" + browserType + "'..."); } catch (NullPointerException ignored) { - System.err.println("No driver specified in property, defaulting to '" + browserType + "'..."); + log.error("No driver specified in property, defaulting to '" + browserType + "'..."); } return browserType; } diff --git a/src/main/java/org/sayem/webdriver/listeners/ScreenshotListener.java b/src/main/java/org/sayem/webdriver/listeners/ScreenshotListener.java index fe0dadd..7204152 100644 --- a/src/main/java/org/sayem/webdriver/listeners/ScreenshotListener.java +++ b/src/main/java/org/sayem/webdriver/listeners/ScreenshotListener.java @@ -4,6 +4,7 @@ import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.remote.Augmenter; +import org.slf4j.Logger; import org.testng.ITestResult; import org.testng.TestListenerAdapter; @@ -12,12 +13,15 @@ import java.io.IOException; import static org.sayem.webdriver.TestBase.driver; +import static org.slf4j.LoggerFactory.getLogger; /** * Created by sayem on 10/05/15. */ public class ScreenshotListener extends TestListenerAdapter { + private static final Logger log = getLogger(ScreenshotListener.class); + private boolean createFile(File screenshot) { boolean fileCreated = false; @@ -43,8 +47,7 @@ private void writeScreenshotToFile(WebDriver driver, File screenshot) { screenshotStream.write(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES)); screenshotStream.close(); } catch (IOException unableToWriteScreenshot) { - System.err.println("Unable to write " + screenshot.getAbsolutePath()); - unableToWriteScreenshot.printStackTrace(); + log.error("Unable to write " + screenshot.getAbsolutePath(), unableToWriteScreenshot); } } @@ -61,13 +64,12 @@ public void onTestFailure(ITestResult failingTest) { } catch (ClassCastException weNeedToAugmentOurDriverObject) { writeScreenshotToFile(new Augmenter().augment(driver), screenshot); } - System.out.println("Written screenshot to " + screenshotAbsolutePath); + log.info("Written screenshot to " + screenshotAbsolutePath); } else { - System.err.println("Unable to create " + screenshotAbsolutePath); + log.error("Unable to create " + screenshotAbsolutePath); } } catch (Exception ex) { - System.err.println("Unable to capture screenshot..."); - ex.printStackTrace(); + log.error("Unable to capture screenshot...", ex); } } } \ No newline at end of file diff --git a/src/main/java/org/sayem/webdriver/listeners/TestNGRetry.java b/src/main/java/org/sayem/webdriver/listeners/TestNGRetry.java index 6e6e83f..d5b76bf 100644 --- a/src/main/java/org/sayem/webdriver/listeners/TestNGRetry.java +++ b/src/main/java/org/sayem/webdriver/listeners/TestNGRetry.java @@ -2,11 +2,15 @@ import org.testng.IRetryAnalyzer; import org.testng.ITestResult; +import org.slf4j.Logger; + +import static org.slf4j.LoggerFactory.getLogger; /** * Created by sayem on 2/2/16. */ public class TestNGRetry implements IRetryAnalyzer { + private static final Logger log = getLogger(TestNGRetry.class); private int retryCount = 0; private int maxRetryCount = 1; @@ -14,7 +18,7 @@ public class TestNGRetry implements IRetryAnalyzer { // and it takes the 'Result' as parameter of the test method that just ran public boolean retry(ITestResult result) { if (retryCount < maxRetryCount) { - System.out.println("Retrying test " + result.getName() + " with status " + log.info("Retrying test " + result.getName() + " with status " + getResultStatusName(result.getStatus()) + " for the " + (retryCount+1) + " time(s)."); retryCount++; return true;