Skip to content

Commit

Permalink
Merge pull request #1 from testvagrant/java_client_selenium_new_fixes
Browse files Browse the repository at this point in the history
Java client selenium new fixes
  • Loading branch information
kumarpani committed Sep 8, 2023
2 parents f4dd894 + 80d2e9d commit 1b2ae44
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 45 deletions.
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ dependencies {
implementation('org.awaitility:awaitility:4.1.0')

//appium
implementation('io.appium:java-client:7.5.1')
implementation('io.appium:java-client:8.5.1')

//Selenium
implementation('org.seleniumhq.selenium:selenium-java:3.141.59')
implementation('org.seleniumhq.selenium:selenium-java:4.11.0')
implementation('io.github.bonigarcia:webdrivermanager:5.5.3')
implementation('com.microsoft.edge:msedge-selenium-tools-java:3.141.0')

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
import io.appium.java_client.service.local.flags.ServerArgument;

public enum AppiumServerFlags implements ServerArgument {
WDA_PORT("--webdriveragent-port"),
WDA_PORT("--driver-xcuitest-webdriveragent-port"),
/** This will print the appium server logs to stdout */
ENABLE_CONSOLE_LOGS("--enable-console-logs");
ENABLE_CONSOLE_LOGS("--enable-console-logs"),
BASE_PATH("--base-path"),
WD_HUB("/wd/hub");

private final String arg;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
package com.testvagrant.ekam.drivers.mobile;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.ios.IOSDriver;
import org.openqa.selenium.Platform;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

import java.net.URL;

public class MobileDriverManager {
private final DesiredCapabilities desiredCapabilities;
private final URL url;
private final DesiredCapabilities desiredCapabilities;
private final URL url;

public MobileDriverManager(URL url, DesiredCapabilities desiredCapabilities) {
this.url = url;
this.desiredCapabilities = desiredCapabilities;
}
public MobileDriverManager(URL url, DesiredCapabilities desiredCapabilities) {
this.url = url;
this.desiredCapabilities = desiredCapabilities;
}

public AppiumDriver<MobileElement> createDriver() {
return desiredCapabilities.getPlatform() == Platform.IOS
? new IOSDriver<>(url, desiredCapabilities)
: new AndroidDriver<>(url, desiredCapabilities);
}
public WebDriver createDriver() {
return desiredCapabilities.getPlatformName() == Platform.IOS
? new IOSDriver(url, desiredCapabilities)
: new AndroidDriver(url, desiredCapabilities);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,8 @@ private AppiumDriverLocalService buildAppiumService(
AppiumServiceBuilder appiumServiceBuilder =
new AppiumServiceBuilder()
.withArgument(SESSION_OVERRIDE)
.withArgument(AppiumServerFlags.BASE_PATH, String.valueOf(AppiumServerFlags.WD_HUB))
.usingAnyFreePort()
.withArgument(
AndroidServerFlag.BOOTSTRAP_PORT_NUMBER,
String.valueOf(randomOpenPortOnAllLocalInterfaces()))
.withArgument(
AppiumServerFlags.WDA_PORT, String.valueOf(randomOpenPortOnAllLocalInterfaces()))
.withLogFile(new File(logFilePath));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,37 +14,37 @@

public class FirefoxDriverManager extends DriverManager {

private final BrowserConfig browserConfig;
private final BrowserConfig browserConfig;

public FirefoxDriverManager(BrowserConfig browserConfig) {
this.browserConfig = browserConfig;
}
public FirefoxDriverManager(BrowserConfig browserConfig) {
this.browserConfig = browserConfig;
}

protected WebDriver createDriver() {
WebDriverManager.firefoxdriver().setup();
return new FirefoxDriver(buildFirefoxOptions());
}
protected WebDriver createDriver() {
WebDriverManager.firefoxdriver().setup();
return new FirefoxDriver(buildFirefoxOptions());
}

private FirefoxOptions buildFirefoxOptions() {
List<String> arguments = browserConfig.getArguments();
List<String> extensions = browserConfig.getExtensions();
Map<String, Object> preferences = browserConfig.getPreferences();
DesiredCapabilities desiredCapabilities = browserConfig.getDesiredCapabilities();
private FirefoxOptions buildFirefoxOptions() {
List<String> arguments = browserConfig.getArguments();
List<String> extensions = browserConfig.getExtensions();
Map<String, Object> preferences = browserConfig.getPreferences();
DesiredCapabilities desiredCapabilities = browserConfig.getDesiredCapabilities();

FirefoxOptions options = new FirefoxOptions();
FirefoxProfile profile = new FirefoxProfile();
FirefoxOptions options = new FirefoxOptions();
FirefoxProfile profile = new FirefoxProfile();

preferences.forEach(
(preference, value) -> profile.setPreference(preference, String.valueOf(value)));
preferences.forEach(
(preference, value) -> profile.setPreference(preference, String.valueOf(value)));

if (extensions.size() > 0) {
extensions.forEach(extensionPath -> profile.addExtension(new File(extensionPath)));
}
if (extensions.size() > 0) {
extensions.forEach(extensionPath -> profile.addExtension(new File(extensionPath)));
}

if (arguments.size() > 0) options.addArguments(arguments);
if (arguments.size() > 0) options.addArguments(arguments);

options.setProfile(profile);
options.merge(desiredCapabilities);
return options;
}
options.setProfile(profile);
options.merge(desiredCapabilities);
return options;
}
}

0 comments on commit 1b2ae44

Please sign in to comment.