From 93ef7bebf1fde0d469dece929cfeb307a01a6d02 Mon Sep 17 00:00:00 2001 From: llaskin Date: Mon, 23 Apr 2018 10:21:45 -0500 Subject: [PATCH 1/3] adding W3C capabilities --- pom.xml | 2 +- .../java/com/yourcompany/Tests/TestBase.java | 23 +++++++++++-------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index a8b0503..9e2d807 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ org.seleniumhq.selenium selenium-java - 2.53.1 + 3.11.0 test diff --git a/src/test/java/com/yourcompany/Tests/TestBase.java b/src/test/java/com/yourcompany/Tests/TestBase.java index 2979a92..6fd5661 100644 --- a/src/test/java/com/yourcompany/Tests/TestBase.java +++ b/src/test/java/com/yourcompany/Tests/TestBase.java @@ -1,23 +1,21 @@ package com.yourcompany.Tests; import com.saucelabs.common.SauceOnDemandAuthentication; - +import com.saucelabs.common.SauceOnDemandSessionIdProvider; +import com.saucelabs.junit.ConcurrentParameterized; +import com.saucelabs.junit.SauceOnDemandTestWatcher; import org.junit.*; import org.junit.rules.TestName; import org.junit.runner.RunWith; +import org.openqa.selenium.MutableCapabilities; import org.openqa.selenium.WebDriver; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; -import com.saucelabs.junit.ConcurrentParameterized; -import com.saucelabs.junit.SauceOnDemandTestWatcher; - import java.net.URL; import java.util.LinkedList; -import com.saucelabs.common.SauceOnDemandSessionIdProvider; - /** @@ -112,18 +110,23 @@ public void setUp() throws Exception { capabilities.setCapability(CapabilityType.BROWSER_NAME, browser); capabilities.setCapability(CapabilityType.VERSION, version); - capabilities.setCapability("deviceName", deviceName); - capabilities.setCapability("device-orientation", deviceOrientation); capabilities.setCapability(CapabilityType.PLATFORM, os); + MutableCapabilities sauceCaps = new MutableCapabilities(); + sauceCaps.setCapability("seleniumVersion", "3.11.0"); + + String methodName = name.getMethodName(); - capabilities.setCapability("name", methodName); + sauceCaps.setCapability("name", methodName); //Getting the build name. //Using the Jenkins ENV var. You can use your own. If it is not set test will run without a build id. if (buildTag != null) { - capabilities.setCapability("build", buildTag); + sauceCaps.setCapability("build", buildTag); } + + capabilities.setCapability("sauce:options", sauceCaps); + this.driver = new RemoteWebDriver( new URL("https://" + username+ ":" + accesskey + seleniumURI +"/wd/hub"), capabilities); From b34f64d869cec08d2f9766caa7b4348ba4c8035f Mon Sep 17 00:00:00 2001 From: llaskin Date: Mon, 23 Apr 2018 10:23:04 -0500 Subject: [PATCH 2/3] updating versions for w3c running --- src/test/java/com/yourcompany/Tests/TestBase.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/test/java/com/yourcompany/Tests/TestBase.java b/src/test/java/com/yourcompany/Tests/TestBase.java index 6fd5661..f9adb0c 100644 --- a/src/test/java/com/yourcompany/Tests/TestBase.java +++ b/src/test/java/com/yourcompany/Tests/TestBase.java @@ -89,11 +89,10 @@ public TestBase(String os, String version, String browser, String deviceName, St public static LinkedList browsersStrings() { LinkedList browsers = new LinkedList(); - browsers.add(new String[]{"Windows 10", "14.14393", "MicrosoftEdge", null, null}); - browsers.add(new String[]{"Windows 10", "49.0", "firefox", null, null}); + browsers.add(new String[]{"Windows 10", "latest", "MicrosoftEdge", null, null}); + browsers.add(new String[]{"Windows 10", "latest", "firefox", null, null}); browsers.add(new String[]{"Windows 7", "11.0", "internet explorer", null, null}); - browsers.add(new String[]{"OS X 10.11", "10.0", "safari", null, null}); - browsers.add(new String[]{"OS X 10.10", "54.0", "chrome", null, null}); + browsers.add(new String[]{"OS X 10.12", "11.0", "safari", null, null}); return browsers; } From 81e9bae8159ceb928f077b835c629528fb6d08b3 Mon Sep 17 00:00:00 2001 From: llaskin Date: Tue, 24 Apr 2018 10:47:23 -0500 Subject: [PATCH 3/3] updating for Options class --- .../java/com/yourcompany/Tests/TestBase.java | 48 +++++++++++++++---- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/src/test/java/com/yourcompany/Tests/TestBase.java b/src/test/java/com/yourcompany/Tests/TestBase.java index f9adb0c..592d277 100644 --- a/src/test/java/com/yourcompany/Tests/TestBase.java +++ b/src/test/java/com/yourcompany/Tests/TestBase.java @@ -9,9 +9,12 @@ import org.junit.runner.RunWith; import org.openqa.selenium.MutableCapabilities; import org.openqa.selenium.WebDriver; -import org.openqa.selenium.remote.CapabilityType; -import org.openqa.selenium.remote.DesiredCapabilities; +import org.openqa.selenium.chrome.ChromeOptions; +import org.openqa.selenium.edge.EdgeOptions; +import org.openqa.selenium.firefox.FirefoxOptions; +import org.openqa.selenium.ie.InternetExplorerOptions; import org.openqa.selenium.remote.RemoteWebDriver; +import org.openqa.selenium.safari.SafariOptions; import java.net.URL; import java.util.LinkedList; @@ -105,13 +108,42 @@ public static LinkedList browsersStrings() { */ @Before public void setUp() throws Exception { - DesiredCapabilities capabilities = new DesiredCapabilities(); + MutableCapabilities options = null; + + switch(browser) { + case "safari": { + options = new SafariOptions(); + break; + } + case "internet explorer": { + options = new InternetExplorerOptions(); + break; + } + case "MicrosoftEdge": { + options = new EdgeOptions(); + break; + } + case "firefox": { + options = new FirefoxOptions(); + break; + } + case "chrome": { + options = new ChromeOptions(); + break; + } + + default: { + System.out.println("Browser not selected"); + break; + } + } + - capabilities.setCapability(CapabilityType.BROWSER_NAME, browser); - capabilities.setCapability(CapabilityType.VERSION, version); - capabilities.setCapability(CapabilityType.PLATFORM, os); + options.setCapability("version", version); + options.setCapability("platform", os); MutableCapabilities sauceCaps = new MutableCapabilities(); + sauceCaps.merge(options); sauceCaps.setCapability("seleniumVersion", "3.11.0"); @@ -124,11 +156,11 @@ public void setUp() throws Exception { sauceCaps.setCapability("build", buildTag); } - capabilities.setCapability("sauce:options", sauceCaps); + options.setCapability("sauce:options", sauceCaps); this.driver = new RemoteWebDriver( new URL("https://" + username+ ":" + accesskey + seleniumURI +"/wd/hub"), - capabilities); + options); this.sessionId = (((RemoteWebDriver) driver).getSessionId()).toString(); }