From 3086c0d7d47c0297524c60f74f70f7082a0e4177 Mon Sep 17 00:00:00 2001 From: Enrique Gonzalez Date: Wed, 4 Sep 2019 19:28:02 -0700 Subject: [PATCH 1/5] add SAUCE_REST_ENDPOINT can define what ondemand endpoint will be used This change --- .../java/com/yourcompany/Tests/TestBase.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/test/java/com/yourcompany/Tests/TestBase.java b/src/test/java/com/yourcompany/Tests/TestBase.java index 2979a92..e5d1da4 100644 --- a/src/test/java/com/yourcompany/Tests/TestBase.java +++ b/src/test/java/com/yourcompany/Tests/TestBase.java @@ -14,6 +14,7 @@ import com.saucelabs.junit.SauceOnDemandTestWatcher; import java.net.URL; +import java.util.HashMap; import java.util.LinkedList; import com.saucelabs.common.SauceOnDemandSessionIdProvider; @@ -36,6 +37,7 @@ public class TestBase implements SauceOnDemandSessionIdProvider { public static String accesskey = System.getenv("SAUCE_ACCESS_KEY"); public static String seleniumURI; public static String buildTag; + public static HashMap endpoints = new HashMap<>(); /** * Constructs a {@link SauceOnDemandAuthentication} instance using the supplied user name/access key. To use the authentication * supplied by environment variables or from an external file, use the no-arg {@link SauceOnDemandAuthentication} constructor. @@ -146,8 +148,19 @@ public String getSessionId() { @BeforeClass public static void setupClass() { - //get the uri to send the commands to. - seleniumURI = "@ondemand.saucelabs.com:443"; + endpoints.put("https://saucelabs.com", "@ondemand.saucelabs.com:443"); + endpoints.put("https://eu-central-1.saucelabs.com", "@ondemand.eu-central-1.saucelabs.com:443"); + endpoints.put("https://us-east-1.saucelabs.com", "@ondemand.us-east-1.saucelabs.com:443"); + + String sauceRestEndpoint = System.getenv("SAUCE_REST_ENDPOINT"); + + if (endpoints.containsKey(sauceRestEndpoint)) { + seleniumURI = endpoints.get(sauceRestEndpoint); + } + else { // set us-west-1 as default + seleniumURI = "@ondemand.saucelabs.com:443"; + } + //If available add build tag. When running under Jenkins BUILD_TAG is automatically set. //You can set this manually on manual runs. buildTag = System.getenv("BUILD_TAG"); From b9cad0de6978a8e88544ef9ede6dba7aa1254527 Mon Sep 17 00:00:00 2001 From: Enrique Gonzalez Date: Wed, 4 Sep 2019 19:38:57 -0700 Subject: [PATCH 2/5] Add some logging on what endpoint is being used --- src/test/java/com/yourcompany/Tests/TestBase.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/java/com/yourcompany/Tests/TestBase.java b/src/test/java/com/yourcompany/Tests/TestBase.java index e5d1da4..090254a 100644 --- a/src/test/java/com/yourcompany/Tests/TestBase.java +++ b/src/test/java/com/yourcompany/Tests/TestBase.java @@ -153,11 +153,14 @@ public static void setupClass() { endpoints.put("https://us-east-1.saucelabs.com", "@ondemand.us-east-1.saucelabs.com:443"); String sauceRestEndpoint = System.getenv("SAUCE_REST_ENDPOINT"); + System.out.printf("SAUCE_REST_ENDPOINT: %s %n", sauceRestEndpoint); if (endpoints.containsKey(sauceRestEndpoint)) { + System.out.printf("Setting OnDemand endpoint to: %s %n", endpoints.get(sauceRestEndpoint)); seleniumURI = endpoints.get(sauceRestEndpoint); } else { // set us-west-1 as default + System.out.println("Setting OnDemand endpoint to default."); seleniumURI = "@ondemand.saucelabs.com:443"; } From c39bddbb1c14b9db3e258e800edff25f9209de4a Mon Sep 17 00:00:00 2001 From: Enrique Gonzalez Date: Wed, 4 Sep 2019 19:41:22 -0700 Subject: [PATCH 3/5] add trailing slash to endpoints map --- src/test/java/com/yourcompany/Tests/TestBase.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/yourcompany/Tests/TestBase.java b/src/test/java/com/yourcompany/Tests/TestBase.java index 090254a..e105808 100644 --- a/src/test/java/com/yourcompany/Tests/TestBase.java +++ b/src/test/java/com/yourcompany/Tests/TestBase.java @@ -148,9 +148,9 @@ public String getSessionId() { @BeforeClass public static void setupClass() { - endpoints.put("https://saucelabs.com", "@ondemand.saucelabs.com:443"); - endpoints.put("https://eu-central-1.saucelabs.com", "@ondemand.eu-central-1.saucelabs.com:443"); - endpoints.put("https://us-east-1.saucelabs.com", "@ondemand.us-east-1.saucelabs.com:443"); + endpoints.put("https://saucelabs.com/", "@ondemand.saucelabs.com:443"); + endpoints.put("https://eu-central-1.saucelabs.com/", "@ondemand.eu-central-1.saucelabs.com:443"); + endpoints.put("https://us-east-1.saucelabs.com/", "@ondemand.us-east-1.saucelabs.com:443"); String sauceRestEndpoint = System.getenv("SAUCE_REST_ENDPOINT"); System.out.printf("SAUCE_REST_ENDPOINT: %s %n", sauceRestEndpoint); From 9dbb316625cc7aea174de92e8e9c59dc48fc2473 Mon Sep 17 00:00:00 2001 From: Enrique Gonzalez Date: Wed, 4 Sep 2019 19:52:23 -0700 Subject: [PATCH 4/5] update capabilities used --- src/test/java/com/yourcompany/Tests/TestBase.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/test/java/com/yourcompany/Tests/TestBase.java b/src/test/java/com/yourcompany/Tests/TestBase.java index e105808..d444e83 100644 --- a/src/test/java/com/yourcompany/Tests/TestBase.java +++ b/src/test/java/com/yourcompany/Tests/TestBase.java @@ -93,11 +93,11 @@ 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 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[]{"Windows 10", "latest", "MicrosoftEdge", null, null}); + browsers.add(new String[]{"Windows 10", "latest", "firefox", null, null}); + browsers.add(new String[]{"Windows 7", "latest", "internet explorer", null, null}); + browsers.add(new String[]{"macOS 10.13", "latest", "safari", null, null}); + browsers.add(new String[]{"macOS 10.14", "latest", "chrome", null, null}); return browsers; } From d80450de7abbbdff5257eeacca59c20c3ce0a77d Mon Sep 17 00:00:00 2001 From: Enrique Gonzalez Date: Wed, 4 Sep 2019 20:06:45 -0700 Subject: [PATCH 5/5] update dependencies --- pom.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index a8b0503..bcee476 100644 --- a/pom.xml +++ b/pom.xml @@ -21,15 +21,20 @@ org.seleniumhq.selenium selenium-java - 2.53.1 + 3.141.59 test com.saucelabs sauce_junit - 2.1.20 + 2.1.25 test + + com.google.guava + guava + 21.0 +