Skip to content

Commit 60075ce

Browse files
author
baechul Kim
committed
A proposed fix for issue 276 (#276)
1 parent 90b4a1b commit 60075ce

File tree

4 files changed

+28
-1
lines changed

4 files changed

+28
-1
lines changed

src/main/java/io/appium/java_client/AppiumDriver.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import java.util.Set;
3939

4040
import static io.appium.java_client.MobileCommand.*;
41+
import org.openqa.selenium.remote.http.HttpClient;
4142

4243
/**
4344
* @param <RequiredElementType> means the required type from the list of allowed types below
@@ -162,13 +163,19 @@ private AppiumDriver(CommandExecutor executor, Capabilities capabilities){
162163
locationContext = new RemoteLocationContext(executeMethod);
163164
super.setErrorHandler(errorHandler);
164165
}
165-
166+
166167
public AppiumDriver(URL remoteAddress, Capabilities desiredCapabilities) {
167168
this(new AppiumCommandExecutor(
168169
getMobileCommands(), remoteAddress), desiredCapabilities);
169170
this.remoteAddress = remoteAddress;
170171
}
171172

173+
public AppiumDriver(URL remoteAddress, HttpClient.Factory httpClientFactory, Capabilities desiredCapabilities) {
174+
this(new AppiumCommandExecutor(
175+
getMobileCommands(), remoteAddress, httpClientFactory), desiredCapabilities);
176+
this.remoteAddress = remoteAddress;
177+
}
178+
172179
public AppiumDriver(AppiumDriverLocalService service, Capabilities desiredCapabilities) {
173180
this(new AppiumCommandExecutor(
174181
getMobileCommands(), service), desiredCapabilities);

src/main/java/io/appium/java_client/android/AndroidDriver.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import static io.appium.java_client.remote.MobileCapabilityType.APP_WAIT_ACTIVITY;
5151
import static io.appium.java_client.remote.MobileCapabilityType.APP_WAIT_PACKAGE;
5252
import static io.appium.java_client.remote.MobileCapabilityType.DONT_STOP_APP_ON_RESET;
53+
import org.openqa.selenium.remote.http.HttpClient;
5354

5455
/**
5556
* @param <RequiredElementType> means the required type from the list of allowed types below
@@ -81,6 +82,12 @@ public AndroidDriver(URL remoteAddress, Capabilities desiredCapabilities) {
8182
ANDROID_PLATFORM));
8283
this.setElementConverter(new JsonToAndroidElementConverter(this));
8384
}
85+
86+
public AndroidDriver(URL remoteAddress, HttpClient.Factory httpClientFactory, Capabilities desiredCapabilities) {
87+
super(remoteAddress, httpClientFactory, substituteMobilePlatform(desiredCapabilities,
88+
ANDROID_PLATFORM));
89+
this.setElementConverter(new JsonToAndroidElementConverter(this));
90+
}
8491

8592
public AndroidDriver(AppiumDriverLocalService service, Capabilities desiredCapabilities) {
8693
super(service, substituteMobilePlatform(desiredCapabilities,

src/main/java/io/appium/java_client/ios/IOSDriver.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.util.List;
3636

3737
import static io.appium.java_client.MobileCommand.*;
38+
import org.openqa.selenium.remote.http.HttpClient;
3839

3940
/**
4041
* @param <RequiredElementType> means the required type from the list of allowed types below
@@ -56,6 +57,12 @@ public IOSDriver(URL remoteAddress, Capabilities desiredCapabilities) {
5657
IOS_PLATFORM));
5758
this.setElementConverter(new JsonToIOSElementConverter(this));
5859
}
60+
61+
public IOSDriver(URL remoteAddress, HttpClient.Factory httpClientFactory, Capabilities desiredCapabilities) {
62+
super(remoteAddress, httpClientFactory, substituteMobilePlatform(desiredCapabilities,
63+
IOS_PLATFORM));
64+
this.setElementConverter(new JsonToIOSElementConverter(this));
65+
}
5966

6067
public IOSDriver(AppiumDriverLocalService service, Capabilities desiredCapabilities) {
6168
super(service, substituteMobilePlatform(desiredCapabilities,

src/main/java/io/appium/java_client/remote/AppiumCommandExecutor.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ public class AppiumCommandExecutor extends HttpCommandExecutor{
3232

3333
private final DriverService service;
3434

35+
public AppiumCommandExecutor(Map<String, CommandInfo> additionalCommands, URL addressOfRemoteServer,
36+
HttpClient.Factory httpClientFactory) {
37+
super(additionalCommands, addressOfRemoteServer, httpClientFactory);
38+
service = null;
39+
}
40+
3541
public AppiumCommandExecutor(Map<String, CommandInfo> additionalCommands, URL addressOfRemoteServer) {
3642
super(additionalCommands, addressOfRemoteServer);
3743
service = null;

0 commit comments

Comments
 (0)