Skip to content

Commit dc94d5a

Browse files
committed
adding an extra flag in the command to allow internal command to specify the mode they'll run in without modifying the context.
1 parent 6bc9117 commit dc94d5a

File tree

1 file changed

+45
-10
lines changed

1 file changed

+45
-10
lines changed

server/src/main/java/org/uiautomation/ios/server/CommandMapping.java

+45-10
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
package org.uiautomation.ios.server;
1616

1717
import org.json.JSONObject;
18-
import org.openqa.selenium.html5.Location;
1918
import org.uiautomation.ios.UIAModels.configuration.WorkingMode;
2019
import org.uiautomation.ios.communication.WebDriverLikeCommand;
2120
import org.uiautomation.ios.communication.WebDriverLikeRequest;
@@ -25,7 +24,33 @@
2524
import org.uiautomation.ios.server.command.Handler;
2625
import org.uiautomation.ios.server.command.NotImplementedNativeHandler;
2726
import org.uiautomation.ios.server.command.NotImplementedWebHandler;
28-
import org.uiautomation.ios.server.command.uiautomation.*;
27+
import org.uiautomation.ios.server.command.uiautomation.ClearNHandler;
28+
import org.uiautomation.ios.server.command.uiautomation.DefaultUIAScriptNHandler;
29+
import org.uiautomation.ios.server.command.uiautomation.ExecuteScriptNHandler;
30+
import org.uiautomation.ios.server.command.uiautomation.FindElementNHandler;
31+
import org.uiautomation.ios.server.command.uiautomation.FindElementsRoot;
32+
import org.uiautomation.ios.server.command.uiautomation.GetAttributeNHandler;
33+
import org.uiautomation.ios.server.command.uiautomation.GetCapabilitiesNHandler;
34+
import org.uiautomation.ios.server.command.uiautomation.GetConfigurationNHandler;
35+
import org.uiautomation.ios.server.command.uiautomation.GetCurrentContextNHandler;
36+
import org.uiautomation.ios.server.command.uiautomation.GetElementSizeNHandler;
37+
import org.uiautomation.ios.server.command.uiautomation.GetOrientationNHandler;
38+
import org.uiautomation.ios.server.command.uiautomation.GetSessionsNHandler;
39+
import org.uiautomation.ios.server.command.uiautomation.GetTimeoutNHandler;
40+
import org.uiautomation.ios.server.command.uiautomation.GetWindowHandlesNHandler;
41+
import org.uiautomation.ios.server.command.uiautomation.LogElementTreeNHandler;
42+
import org.uiautomation.ios.server.command.uiautomation.NewSessionNHandler;
43+
import org.uiautomation.ios.server.command.uiautomation.SendKeysNHandler;
44+
import org.uiautomation.ios.server.command.uiautomation.ServerStatusNHandler;
45+
import org.uiautomation.ios.server.command.uiautomation.SetConfigurationNHandler;
46+
import org.uiautomation.ios.server.command.uiautomation.SetCurrentContextNHandler;
47+
import org.uiautomation.ios.server.command.uiautomation.SetImplicitWaitTimeoutNHandler;
48+
import org.uiautomation.ios.server.command.uiautomation.SetLocationNHandler;
49+
import org.uiautomation.ios.server.command.uiautomation.SetOrientationNHandler;
50+
import org.uiautomation.ios.server.command.uiautomation.SetTimeoutNHandler;
51+
import org.uiautomation.ios.server.command.uiautomation.SetValueNHandler;
52+
import org.uiautomation.ios.server.command.uiautomation.StopSessionNHandler;
53+
import org.uiautomation.ios.server.command.uiautomation.TakeScreenshotNHandler;
2954
import org.uiautomation.ios.server.command.web.BackHandler;
3055
import org.uiautomation.ios.server.command.web.ClearHandler;
3156
import org.uiautomation.ios.server.command.web.ClickHandler;
@@ -247,14 +272,7 @@ public String jsMethod(JSONObject payload, IOSApplication aut) {
247272

248273

249274
public Handler createHandler(IOSDriver driver, WebDriverLikeRequest request) throws Exception {
250-
boolean isNative = true;
251-
WebDriverLikeCommand command = request.getGenericCommand();
252-
253-
if (!command.isSessionLess()) {
254-
ServerSideSession sss = driver.getSession(request.getSession());
255-
isNative = sss.getMode() == WorkingMode.Native;
256-
}
257-
275+
boolean isNative = isNative(driver, request);
258276
Class<?> clazz;
259277

260278
if (isNative) {
@@ -276,4 +294,21 @@ public Handler createHandler(IOSDriver driver, WebDriverLikeRequest request) thr
276294

277295
}
278296

297+
private boolean isNative(IOSDriver driver, WebDriverLikeRequest request) {
298+
// if there a force flag in the request.
299+
if (request.getPayload().has("native")) {
300+
return request.getPayload().optBoolean("native");
301+
}
302+
303+
// else, get it from the current mode.Ò
304+
boolean isNative = true;
305+
WebDriverLikeCommand command = request.getGenericCommand();
306+
307+
if (!command.isSessionLess()) {
308+
ServerSideSession sss = driver.getSession(request.getSession());
309+
isNative = sss.getMode() == WorkingMode.Native;
310+
}
311+
return isNative;
312+
}
313+
279314
}

0 commit comments

Comments
 (0)