From 1f052c2281c6e6f3331ad41738f74e188c1091e7 Mon Sep 17 00:00:00 2001 From: Squiccups Date: Tue, 17 Nov 2015 10:51:04 +0000 Subject: [PATCH 1/5] Updated the electron driver so that it works --- .../frameworkium/config/drivers/ElectronImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java b/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java index 55fca47c..bb490c5e 100755 --- a/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java +++ b/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java @@ -14,23 +14,23 @@ public class ElectronImpl extends DriverType { @Override public DesiredCapabilities getDesiredCapabilities() { - Map chromeOptions = new HashMap<>(); + + ChromeOptions options = new ChromeOptions(); if (!APP_PATH.isSpecified()) { logger.error("App path must be specified when using Electron!"); } else { - chromeOptions.put("binary", APP_PATH.getValue()); + options.setBinary(APP_PATH.getValue()); } - DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); + DesiredCapabilities desiredCapabilities = new DesiredCapabilities().chrome(); desiredCapabilities.setCapability("host", "localhost"); desiredCapabilities.setCapability("port", 9515); - desiredCapabilities.setCapability("browserName", "chrome"); - desiredCapabilities.setCapability("chromeOptions", chromeOptions); + desiredCapabilities.setCapability("chromeOptions", options); return desiredCapabilities; } @Override public WebDriver getWebDriverObject(DesiredCapabilities capabilities) { - return new RemoteWebDriver(capabilities); + return new ChromeDriver(capabilities); } } From 9debe174b2961c6f98a3e1b59af3d37f175eb592 Mon Sep 17 00:00:00 2001 From: Squiccups Date: Tue, 17 Nov 2015 11:05:52 +0000 Subject: [PATCH 2/5] Added correct imports to electron Updated the electron driver so that it has the right imports --- .../java/com/frameworkium/config/drivers/ElectronImpl.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java b/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java index bb490c5e..52bd0adf 100755 --- a/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java +++ b/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java @@ -2,11 +2,9 @@ import com.frameworkium.config.DriverType; import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; -import org.openqa.selenium.remote.RemoteWebDriver; - -import java.util.HashMap; -import java.util.Map; import static com.frameworkium.config.SystemProperty.APP_PATH; From e9c7d2a88130b7e4cf4ee92930b3978e3358a704 Mon Sep 17 00:00:00 2001 From: jleeh Date: Mon, 23 Nov 2015 11:11:37 +0000 Subject: [PATCH 3/5] Updated the electron driver so it uses the gridURL which fixes the issues with electron. If gridURL isn't specified, it defaults to localhost. --- pom.xml | 0 .../com/frameworkium/config/DriverSetup.java | 0 .../config/drivers/ElectronImpl.java | 32 ++++++++++++------- .../reporting/AllureProperties.java | 0 4 files changed, 21 insertions(+), 11 deletions(-) mode change 100755 => 100644 pom.xml mode change 100755 => 100644 src/main/java/com/frameworkium/config/DriverSetup.java mode change 100755 => 100644 src/main/java/com/frameworkium/config/drivers/ElectronImpl.java mode change 100755 => 100644 src/main/java/com/frameworkium/reporting/AllureProperties.java diff --git a/pom.xml b/pom.xml old mode 100755 new mode 100644 diff --git a/src/main/java/com/frameworkium/config/DriverSetup.java b/src/main/java/com/frameworkium/config/DriverSetup.java old mode 100755 new mode 100644 diff --git a/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java b/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java old mode 100755 new mode 100644 index 52bd0adf..12c8e189 --- a/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java +++ b/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java @@ -2,33 +2,43 @@ import com.frameworkium.config.DriverType; import org.openqa.selenium.WebDriver; -import org.openqa.selenium.chrome.ChromeDriver; -import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; +import org.openqa.selenium.remote.RemoteWebDriver; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; import static com.frameworkium.config.SystemProperty.APP_PATH; +import static com.frameworkium.config.SystemProperty.GRID_URL; public class ElectronImpl extends DriverType { + private static URL remoteURL; + @Override public DesiredCapabilities getDesiredCapabilities() { - - ChromeOptions options = new ChromeOptions(); + Map chromeOptions = new HashMap<>(); if (!APP_PATH.isSpecified()) { logger.error("App path must be specified when using Electron!"); } else { - options.setBinary(APP_PATH.getValue()); + chromeOptions.put("binary", APP_PATH.getValue()); } - DesiredCapabilities desiredCapabilities = new DesiredCapabilities().chrome(); - desiredCapabilities.setCapability("host", "localhost"); - desiredCapabilities.setCapability("port", 9515); - desiredCapabilities.setCapability("chromeOptions", options); + try { + remoteURL = new URL(GRID_URL.getValue()); + } + catch(MalformedURLException e) { + throw new RuntimeException(e); + } + DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); + desiredCapabilities.setCapability("browserName", "chrome"); + desiredCapabilities.setCapability("chromeOptions", chromeOptions); return desiredCapabilities; } @Override public WebDriver getWebDriverObject(DesiredCapabilities capabilities) { - return new ChromeDriver(capabilities); + return new RemoteWebDriver(remoteURL ,capabilities); } - } diff --git a/src/main/java/com/frameworkium/reporting/AllureProperties.java b/src/main/java/com/frameworkium/reporting/AllureProperties.java old mode 100755 new mode 100644 From 2da94cf7dcf090518c624f0ece22ec395316456c Mon Sep 17 00:00:00 2001 From: jleeh Date: Mon, 23 Nov 2015 11:13:08 +0000 Subject: [PATCH 4/5] Default got removed by mistake after conflicts resolve. --- .../java/com/frameworkium/config/drivers/ElectronImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java b/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java index 12c8e189..1a330955 100644 --- a/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java +++ b/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java @@ -26,7 +26,12 @@ public DesiredCapabilities getDesiredCapabilities() { chromeOptions.put("binary", APP_PATH.getValue()); } try { - remoteURL = new URL(GRID_URL.getValue()); + if (GRID_URL.isSpecified()) { + remoteURL = new URL(GRID_URL.getValue()); + } + else { + remoteURL = new URL("http://localhost:9515"); + } } catch(MalformedURLException e) { throw new RuntimeException(e); From 33319b5f2bc76651da6862f31d18c7545b0fb2f0 Mon Sep 17 00:00:00 2001 From: jleeh Date: Mon, 23 Nov 2015 12:23:49 +0000 Subject: [PATCH 5/5] Added the chrome desired capabilities in the electron driver, this ensures the automatic opening on the chrome driver plugin. --- src/main/java/com/frameworkium/config/drivers/ElectronImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 src/main/java/com/frameworkium/config/drivers/ElectronImpl.java diff --git a/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java b/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java old mode 100644 new mode 100755 index 1a330955..3f07949d --- a/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java +++ b/src/main/java/com/frameworkium/config/drivers/ElectronImpl.java @@ -36,7 +36,7 @@ public DesiredCapabilities getDesiredCapabilities() { catch(MalformedURLException e) { throw new RuntimeException(e); } - DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); + DesiredCapabilities desiredCapabilities = DesiredCapabilities.chrome(); desiredCapabilities.setCapability("browserName", "chrome"); desiredCapabilities.setCapability("chromeOptions", chromeOptions); return desiredCapabilities;