Last active
July 12, 2016 13:38
-
-
Save henrrich/76130799b253b0e98bb85561616220e7 to your computer and use it in GitHub Desktop.
Webdriver capability builder classes for different browsers
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Running towards BrowserStack using remote webdriver | |
// decorator class on top of basic capability builder classes from different browsers | |
public class BrowserStackRemoteWebDriverCapabilityBuilder extends CapabilityConfigurator.CapabilityBuilderDecorator { | |
public BrowserStackRemoteWebDriverCapabilityBuilder(CapabilityConfigurator.CapabilityBuilder builder) { | |
super(builder); | |
} | |
@Override | |
public void buildDesiredCapabilities() { | |
this.builder.buildDesiredCapabilities(); | |
this.desiredCapabilities = builder.getDesiredCapabilities(); | |
this.desiredCapabilities.setCapability("browser", TestContext.getBrowser()); | |
this.desiredCapabilities.setCapability("browser_version", TestContext.getBrowserVersion()); | |
this.desiredCapabilities.setCapability("os", TestContext.getPlatformName()); | |
this.desiredCapabilities.setCapability("os_version", TestContext.getPlatformVersion()); | |
//this.desiredCapabilities.setCapability("platform", TestContext.getPlatform()); | |
this.desiredCapabilities.setCapability("browserstack.debug", "true"); | |
//following is needed for tunneling | |
this.desiredCapabilities.setCapability("browserstack.local", "true"); | |
this.desiredCapabilities.setCapability("acceptSslCerts", "true"); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class ChromeWebDriverCapabilityBuilder extends CapabilityBuilder { | |
@Override | |
public void buildDesiredCapabilities() { | |
ChromeOptions chromeOptions = new ChromeOptions(); | |
chromeOptions.addArguments("--disable-extensions"); | |
chromeOptions.addArguments("test-type"); | |
chromeOptions.addArguments("--dns-prefetch-disable"); | |
// chromeOptions.addArguments("--window-size=300,300"); | |
this.desiredCapabilities = DesiredCapabilities.chrome(); | |
this.desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class EdgeWebDriverCapabilityBuilder extends CapabilityBuilder { | |
@Override | |
public void buildDesiredCapabilities() { | |
this.desiredCapabilities = DesiredCapabilities.edge(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class FirefoxWebDriverCapabilityBuilder extends CapabilityBuilder { | |
@Override | |
public void buildDesiredCapabilities() { | |
this.desiredCapabilities = DesiredCapabilities.firefox(); | |
FirefoxProfile firefoxProfile = new FirefoxProfile(); | |
//Disable Firefox reader view | |
firefoxProfile.setPreference("reader.parse-on-load.enabled", false); | |
firefoxProfile.setEnableNativeEvents(false); | |
this.desiredCapabilities.setCapability(FirefoxDriver.PROFILE, firefoxProfile); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class IECapabilityBuilder extends CapabilityBuilder { | |
@Override | |
public void buildDesiredCapabilities() { | |
desiredCapabilities = DesiredCapabilities.internetExplorer(); | |
desiredCapabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true); | |
// desiredCapabilities.setCapability(InternetExplorerDriver.ENABLE_ELEMENT_CACHE_CLEANUP, true); | |
desiredCapabilities.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, ""); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Running towards SauceLabs from Jenkins saucelabs plugin | |
// decorator class on top of basic capability builder classes from different browsers | |
public class JenkinsSauceLabsRemoteWebDriverCapabilityBuilder extends CapabilityBuilderDecorator { | |
private static final String ENV_SELENIUM_PLATFORM = "SELENIUM_PLATFORM"; | |
private static final String ENV_SELENIUM_VERSION = "SELENIUM_VERSION"; | |
private static final String ENV_JOB_NAME = "JOB_NAME"; | |
private static final String ENV_BUILD_NUMBER = "BUILD_NUMBER"; | |
public JenkinsSauceLabsRemoteWebDriverCapabilityBuilder(CapabilityConfigurator.CapabilityBuilder builder) { | |
super(builder); | |
} | |
@Override | |
public void buildDesiredCapabilities() { | |
builder.buildDesiredCapabilities(); | |
this.desiredCapabilities = builder.getDesiredCapabilities(); | |
//Jenkins SauceLabs plugin env variables | |
String platform = System.getenv(ENV_SELENIUM_PLATFORM); | |
String version = System.getenv(ENV_SELENIUM_VERSION); | |
String jobName = System.getenv(ENV_JOB_NAME); | |
String buildNumber = System.getenv(ENV_BUILD_NUMBER); | |
this.desiredCapabilities.setCapability("version", version); | |
this.desiredCapabilities.setCapability("platform", platform); | |
this.desiredCapabilities.setCapability("build", jobName + "__" + buildNumber); | |
//this.desiredCapabilities.setCapability("name", (TestContext.isMobileChannel() ? "Mobile" : "Desktop") + "[" + | |
// TestContext.getJurisdiction() + "-" + TestContext.getMarket() + "]"); | |
this.desiredCapabilities.setCapability("recordVideo", true); | |
this.desiredCapabilities.setCapability("recordScreenshots", true); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class SafariWebDriverCapabilityBuilder extends CapabilityBuilder { | |
@Override | |
public void buildDesiredCapabilities() { | |
this.desiredCapabilities = DesiredCapabilities.safari(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Running towards SauceLabs using remote webdriver | |
// decorator class on top of basic capability builder classes from different browsers | |
public class SauceLabsRemoteWebDriverCapabilityBuilder extends CapabilityConfigurator.CapabilityBuilderDecorator { | |
public SauceLabsRemoteWebDriverCapabilityBuilder(CapabilityConfigurator.CapabilityBuilder builder) { | |
super(builder); | |
} | |
@Override | |
public void buildDesiredCapabilities() { | |
this.builder.buildDesiredCapabilities(); | |
this.desiredCapabilities = builder.getDesiredCapabilities(); | |
this.desiredCapabilities.setCapability("platform", TestContext.getPlatform()); | |
this.desiredCapabilities.setCapability("build", TestContext.getCloudJobName() + "__" + TestContext.getCloudBuildNumber()); | |
this.desiredCapabilities.setCapability("version", TestContext.getBrowserVersion()); | |
this.desiredCapabilities.setCapability("recordVideo", "true"/*TestContext.isRecordVideo()*/); | |
//this.desiredCapabilities.setCapability("recordScreenshots", System.getProperty("recordScreenshots")); | |
this.desiredCapabilities.setCapability("screenResolution", "1024x768"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment