Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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();
Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand All @@ -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;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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;

Expand All @@ -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);
}
}

Expand All @@ -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);
}
}
}
6 changes: 5 additions & 1 deletion src/main/java/org/sayem/webdriver/listeners/TestNGRetry.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,23 @@

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;

// Below method returns 'true' if the test method has to be retried else 'false'
// 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;
Expand Down