Mobile web touch actions on real iOS device

Hi there,

I’m trying to tap and swipe on an html5 canvas object on a web page, using appium 1.4.8 with an iOS 8.1 iPad mini real device. If I get the canvas element by id then click it clicks in the middle of that canvas. But when I try to use browser.tap(x,y) I get not implemented message. If I try browser.execute_script(‘mobile:“tap”’,{“duration”:1000, “x”:268,“y”:190}) no errors are logged but nothing happens on the device. Anything I am doing wrong?

Setup:
appium 1.4.8
appium-python-client
python 2.7
Mac OSX - 10.10.4

I used the following blog to build a html web page with the canvas object that shows the x,y coordinates of taps on mobile.

Here is my python code:

10 def setUps(self):
11 remote_server_url = ‘http://127.0.0.1:4723/wd/hub
12 browser = webdriver.Remote(command_executor=remote_server_url, desired_capabilities={‘newCommandTimeout’:‘999’,'browserName ':‘safari’, ‘platformName’:‘iOS’,‘platformVersion’:‘8.1’, ‘deviceName’:“Zolani’s iPad (2)”})
return browser

110 def main(self):
111 self.browser = self.setUps()
112 self.test_visiting_bm()
113 can = self.browser.find_element_by_id(“canvas”)
114 can.click()
115 action = TouchAction(self.browser)
116 time.sleep(10)
117 try:
118 action.tap(x=100,y=200).perform()
119 except:
120 print “ai”
121 self.browser.execute_script(‘mobile:“tap”’,{“duration”:1000, “x”:268,“y”:190})
122 ‘’’
123 self.browser.execute_script(‘mobile:“tap”’,{“duration”:1, “x”:10,“y”:200})
124 self.browser.execute_script(‘mobile:“tap”’,{“duration”:1, “x”:100,“y”:20})
125 self.browser.execute_script(‘mobile:“tap”’,{“duration”:1, “x”:50,“y”:200})
126 self.browser.execute_script(‘mobile:“tap”’,{“duration”:1, “x”:100,“y”:50})
127 self.browser.execute_script(‘mobile:“tap”’,{“duration”:1, “x”:200,“y”:500})
128 self.browser.execute_script(‘mobile:“tap”’,{“duration”:1, “x”:400,“y”:800})
129 ‘’’
130 try:
131 self.browser.swipe(100,200,200,300,500)
132 except Exception as e:
133 print e
134 print “swipe doesnt work”
135 try:
136 self.browser.tap([(268,200)])
137 except Exception as e:
138 print e
139 print “Ah man”
140 time.sleep(10)
141 self.browser.quit()
142

Terminal log:

Starting
ai
In swipe
Message: Not yet implemented.

swipe doesnt work
“Message: Not yet implemented.”

Ah man

Appium server logs:

Last login: Wed Jul 29 08:04:20 on ttys000
qas-imac:~ qa$ appium -U 2911827e42e792a30d61ef88727a3527c8e89795
info: Welcome to Appium v1.4.8 (REV c8179bd8352d3c62d98fa58b324491230df9342a)
info: Appium REST http interface listener started on 0.0.0.0:4723
info: [debug] Non-default server args: {“udid”:“2911827e42e792a30d61ef88727a3527c8e89795”}
info: Console LogLevel: debug
info: --> POST /wd/hub/session {“desiredCapabilities”:{“platformVersion”:“8.1”,“deviceName”:“Zolani’s iPad (2)”,“browserName”:“safari”,“platformName”:“iOS”,“newCommandTimeout”:“999”}}
info: Client User-Agent string: Python-urllib/2.7
info: [debug] Configuring Safari session
info: [debug] Using local .zip from command line: /usr/local/lib/node_modules/appium/build/SafariLauncher/SafariLauncher.zip
info: [debug] Copying local zip to tmp dir
info: [debug] /usr/local/lib/node_modules/appium/build/SafariLauncher/SafariLauncher.zip copied to /var/folders/7m/g0zf9bn15hgbgnhfkyrr9lmh0000gn/T/115629-1709-cgrn9m/appium-app.zip
info: [debug] Unzipping /var/folders/7m/g0zf9bn15hgbgnhfkyrr9lmh0000gn/T/115629-1709-cgrn9m/appium-app.zip
info: [debug] Testing zip archive: /var/folders/7m/g0zf9bn15hgbgnhfkyrr9lmh0000gn/T/115629-1709-cgrn9m/appium-app.zip
info: [debug] Zip archive tested clean
info: [debug] Unzip successful
info: [debug] Using locally extracted app: /var/folders/7m/g0zf9bn15hgbgnhfkyrr9lmh0000gn/T/115629-1709-cgrn9m/node_modules/safari-launcher/build/Release-iphoneos/SafariLauncher.app
info: [debug] Creating new appium session f1c27707-7508-4d37-9386-8ce2c1424ce2
info: [debug] Removing any remaining instruments sockets
info: [debug] Cleaned up instruments socket /tmp/instruments_sock
info: [debug] Auto-detecting iOS udid…
info: [debug] Not auto-detecting udid, running on sim
info: [debug] Could not parse plist file (as binary) at /var/folders/7m/g0zf9bn15hgbgnhfkyrr9lmh0000gn/T/115629-1709-cgrn9m/node_modules/safari-launcher/build/Release-iphoneos/SafariLauncher.app/en.lproj/Localizable.strings
info: Will try to parse the plist file as XML
info: [debug] Could not parse plist file (as XML) at /var/folders/7m/g0zf9bn15hgbgnhfkyrr9lmh0000gn/T/115629-1709-cgrn9m/node_modules/safari-launcher/build/Release-iphoneos/SafariLauncher.app/en.lproj/Localizable.strings
warn: Could not parse app Localizable.strings assuming it doesn’t exist
info: [debug] Getting bundle ID from app
info: [debug] Parsed app Info.plist (as binary)
info: [debug] Creating instruments
info: [debug] Preparing uiauto bootstrap
info: [debug] Dynamic bootstrap dir: /Users/qa/Library/Application Support/appium/bootstrap
info: [debug] Dynamic env: {“nodePath”:"/usr/local/Cellar/node/0.12.4/bin/node",“commandProxyClientPath”:"/usr/local/lib/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js",“instrumentsSock”:"/tmp/instruments_sock",“interKeyDelay”:null,“justLoopInfinitely”:false,“autoAcceptAlerts”:false,“autoDismissAlerts”:false,“sendKeyStrategy”:“grouped”}
…o: [debug] Dynamic bootstrap code: // This file is automatically generated. Do not manually modify!
info: [debug] Dynamic bootstrap path: /Users/qa/Library/Application Support/appium/bootstrap/bootstrap-072528be314c3cc6.js
info: [debug] Reusing dynamic bootstrap: /Users/qa/Library/Application Support/appium/bootstrap/bootstrap-072528be314c3cc6.js
info: [debug] Attempting iOS device log capture via libimobiledevice idevicesyslog
info: [debug] Creating iDevice object with udid 2911827e42e792a30d61ef88727a3527c8e89795
info: [debug] Starting command proxy.
info: [debug] Instruments socket server started at /tmp/instruments_sock
info: [debug] Starting instruments
info: [debug] Instruments is at: /Applications/Xcode.app/Contents/Developer/usr/bin/instruments
info: Launching instruments
info: [debug] Attempting to run app on real device with UDID 2911827e42e792a30d61ef88727a3527c8e89795
info: [debug] Spawning instruments with command: /Applications/Xcode.app/Contents/Developer/usr/bin/instruments -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.xrplugin/Contents/Resources/Automation.tracetemplate -D /tmp/appium-instruments/instrumentscli0.trace -w 2911827e42e792a30d61ef88727a3527c8e89795 com.bytearc.SafariLauncher -e UIASCRIPT “/Users/qa/Library/Application Support/appium/bootstrap/bootstrap-072528be314c3cc6.js” -e UIARESULTSPATH /tmp/appium-instruments
info: [debug] And extra without-delay env: {}
info: [debug] And launch timeouts (in ms): {“global”:90000}
info: [debug] [INST STDERR] 2015-07-29 08:10:33.493 instruments[1725:10402518] WebKit Threading Violation - initial use of WebKit from a secondary thread.
info: Instruments is ready to receive commands
info: [debug] Instruments launched. Starting poll loop for new commands.
info: [debug] Setting bootstrap config keys/values
info: [debug] Pushing command to appium work queue: “target = $.target();\nau = $;\n$.isVerbose = true;\n”
info: [debug] Socket data received (2 bytes)
info: [debug] Socket data being routed.
info: [debug] Sending command to instruments: target = $.target();
au = $;
$.isVerbose = true;

info: [debug] [INST] 2015-07-29 06:09:00 +0000 Debug: evaluation finished
info: [debug] Socket data received (27 bytes)
info: [debug] Socket data being routed.
info: [debug] Got result from instruments: {“status”:0,“value”:true}
info: [debug] Not setting initial orientation because we’re on SafariLauncher
info: [debug] Waiting for app source to contain elements
info: [debug] Pushing command to appium work queue: “au.mainApp().getTreeForXML()”
info: [debug] Sending command to instruments: au.mainApp().getTreeForXML()
info: [debug] [INST] 2015-07-29 06:09:00 +0000 Debug: responding with:
info: [debug] [INST] 2015-07-29 06:09:00 +0000 Debug: Running system command #1: /usr/local/Cellar/node/0.12.4/bin/node /usr/local/lib/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js /tmp/instruments_sock 2,{“status”:0,“value”:true}…
info: [debug] [INST] 2015-07-29 06:09:01 +0000 Debug: Got new command 1 from instruments: au.mainApp().getTreeForXML()
info: [debug] [INST] 2015-07-29 06:09:01 +0000 Debug: evaluating au.mainApp().getTreeForXML()
info: [debug] [INST] 2015-07-29 06:09:01 +0000 Debug: evaluation finished
info: [debug] [INST] 2015-07-29 06:09:01 +0000 Debug: responding with:w":{"@":{“name”:null,“label”:null,“value”:null,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:null,“path”:"/0/0",“x”:0,“y”:0,“width”:1024.0000335703464,“height”:768.0000447604625},">":[{“UIAStaticText”:{"@":{“name”:“Safari Launcher”,“label”:“Safari Launcher”,“value”:“Safari Launcher”,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:null,“path”:"/0/0/0",“x”:256.00000043711367,“y”:9.999988809884144,“width”:1024.0000021855685,“height”:50.0000447604632},">":[]}},{“UIAButton”:{"@":{“name”:“launch safari”,“label”:“launch safari”,“value”:null,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:null,“path”:"/0/0/1",“x”:412.00001547383164,“y”:354.00001800909223,“width”:200.00000262268333,“height”:60.00000874227794},">":[]}},{“UIAStaticText”:{"@":{“name”:" url: “,“label”:” url: “,“value”:” url: “,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:null,“path”:”/0/0/2",“x”:0.00003138477802133721,“y”:717.9999999999992,“width”:1024.0000021855685,“height”:50.00004476046331},">":[]}}]}},{“UIAWindow”:{"@":{“name”:null,“label”:null,“value”:null,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:null,“path”:"/0/1",“x”:0,“y”:0,“width”:1024.0000335703464,“height”:768.0000447604625},">":[{“UIAStatusBar”:{"@":{“name”:null,“label”:null,“value”:null,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:null,“path”:"/0/1/0",“x”:0,“y”:0,“width”:1024.0000008742268,“height”:20.00004476046331},">":[{“UIAElement”:{"@":{“name”:“iPad”,“label”:“iPad”,“value”:null,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:“Swipe down with three fingers to reveal the notification center., Swipe up with three fingers to reveal the control center, Double-tap to scroll to top”,“path”:"/0/1/0/0",“x”:5.999999999999994,“y”:0.00004340541022429534,“width”:25.000000874227776,“height”:20.000001092784714},">":[]}},{“UIAElement”:{"@":{“name”:“3 of 3 Wi-Fi bars”,“label”:“3 of 3 Wi-Fi bars”,“value”:“RS_QA_iMac”,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:“Swipe down with three fingers to reveal the notification center., Swipe up with three fingers to reveal the control center, Double-tap to scroll to top”,“path”:"/0/1/0/1",“x”:35.999999999999964,“y”:0.0000426186052209232,“width”:13.00000087422778,“height”:20.000000568248083},">":[]}},{“UIAElement”:{"@":{“name”:“8:09 AM”,“label”:“8:09 AM”,“value”:null,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:“Swipe down with three fingers to reveal the notification center., Swipe up with three fingers to reveal the control center, Double-tap to scroll to top”,“path”:"/0/1/0/2",“x”:488.9999999999995,“y”:0.000021331158222892554,“width”:47.00000087422774,“height”:20.000002054435413},">":[]}},{“UIAElement”:{"@":{“name”:“100% battery power, On AC Power”,“label”:“100% battery power, On AC Power”,“value”:null,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:“Swipe down with three fingers to reveal the notification center., Swipe up with three fingers to reveal the control center, Double-tap to scroll to top”,“path”:"/0/1/0/3",“x”:951.9999999999991,“y”:2.1855692011740757e-7,“width”:67.00000087422768,“height”:20.000002928663093},">":[]}}]}}]}}]}}}
info: [debug] [INST] 2015-07-29 06:09:01 +0000 Debug: Running system command #2: /usr/local/Cellar/node/0.12.4/bin/node /usr/local/lib/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js /tmp/instruments_sock 2,{“status”:0,“value”:{“UIAApplication”:{"@":{“name”:“SafariLauncher”,“label”:“SafariLauncher”,“value”:null,“dom”:null,“enabled”:true,“valid”:true,“v…
info: [debug] Socket data received (3558 bytes)
info: [debug] Socket data being routed.
info: [debug] Got result from instruments: {“status”:0,“value”:{“UIAApplication”:{”@":{“name”:“SafariLauncher”,“label”:“SafariLauncher”,“value”:null,“dom”:null,“enabled”:true,“valid”:true,“visible”:true,“hint”:null,“path”:"/0",“x”:19.99998880988414,“y”:-255.99998880988392,“width”:748.0000447604626,“height”:1024.0000326961185},">":[{“UIAWindo
info: [debug] On Safari Launcher. Tapping button to launch Safari
info: [debug] Waiting up to 0ms for condition
info: [debug] Pushing command to appium work queue: “au.getElementByAccessibilityId(‘launch safari’)”
info: [debug] Sending command to instruments: au.getElementByAccessibilityId(‘launch safari’)
info: [debug] [INST] 2015-07-29 06:09:02 +0000 Debug: Got new command 2 from instruments: au.getElementByAccessibilityId(‘launch safari’)
info: [debug] [INST] 2015-07-29 06:09:02 +0000 Debug: evaluating au.getElementByAccessibilityId(‘launch safari’)
info: [debug] [INST] 2015-07-29 06:09:02 +0000 Debug: evaluation finished
info: [debug] [INST] 2015-07-29 06:09:02 +0000 Debug: Lookup returned [object UIAButton] with the name “launch safari” (id: 0).
info: [debug] [INST] 2015-07-29 06:09:02 +0000 Debug: responding with:
info: [debug] [INST] 2015-07-29 06:09:02 +0000 Debug: Running system command #3: /usr/local/Cellar/node/0.12.4/bin/node /usr/local/lib/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js /tmp/instruments_sock 2,{“status”:0,“value”:{“ELEMENT”:“0”}}…
info: [debug] Socket data received (38 bytes)
info: [debug] Socket data being routed.
info: [debug] Got result from instruments: {“status”:0,“value”:{“ELEMENT”:“0”}}
info: [debug] Pushing command to appium work queue: “au.tapById(‘0’)”
info: [debug] Sending command to instruments: au.tapById(‘0’)
info: [debug] [INST] 2015-07-29 06:09:03 +0000 Debug: Got new command 3 from instruments: au.tapById(‘0’)
info: [debug] [INST] 2015-07-29 06:09:03 +0000 Debug: evaluating au.tapById(‘0’)
info: [debug] [INST] 2015-07-29 06:09:04 +0000 Debug: UIAButton.tap()
info: [debug] Socket data received (25 bytes)
info: [debug] Socket data being routed.
info: [debug] Got result from instruments: {“status”:0,“value”:”"}
info: [debug] Clicked button, safari should be launching.
info: [debug] Waiting for 6000 ms before navigating to view.
info: [debug] Navigating to most recently opened webview
info: [debug] [REMOTE] Getting WebKitRemoteDebugger pageArray
info: [debug] Picking webview WEBVIEW_5
info: [debug] Attempting to set context to ‘WEBVIEW_5’
info: [debug] [REMOTE] Debugger web socket connected to url [ws://localhost:27753/devtools/page/5]
info: [debug] [REMOTE] Unregistering from page readiness notifications
info: [debug] Waiting for 6000 ms before navigating to view.
info: [debug] Navigating to most recently opened webview
info: [debug] [REMOTE] Getting WebKitRemoteDebugger pageArray
info: [debug] Picking webview WEBVIEW_5
info: [debug] Attempting to set context to ‘WEBVIEW_5’
info: [debug] [REMOTE] Disconnecting from remote debugger
info: [debug] [REMOTE] Debugger web socket connected to url [ws://localhost:27753/devtools/page/5]
info: [debug] [REMOTE] Unregistering from page readiness notifications
info: [debug] Device launched! Ready for commands
info: [debug] Setting command timeout to 999 secs
info: [debug] Appium session started with sessionId f1c27707-7508-4d37-9386-8ce2c1424ce2
info: <-- POST /wd/hub/session 303 20898.828 ms - 74
info: --> GET /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2 {}
info: [debug] Responding to client with success: {“status”:0,“value”:{“webStorageEnabled”:false,“locationContextEnabled”:false,“browserName”:“safari”,“platform”:“MAC”,“javascriptEnabled”:true,“databaseEnabled”:false,“takesScreenshot”:true,“networkConnectionEnabled”:false,“warnings”:{},“desired”:{“platformVersion”:“8.1”,“deviceName”:“Zolani’s iPad (2)”,“browserName”:“safari”,“platformName”:“iOS”,“newCommandTimeout”:“999”},“platformVersion”:“8.1”,“deviceName”:“Zolani’s iPad (2)”,“platformName”:“iOS”,“newCommandTimeout”:“999”,“safari”:true},“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: <-- GET /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2 200 4.277 ms - 546 {“status”:0,“value”:{“webStorageEnabled”:false,“locationContextEnabled”:false,“browserName”:“safari”,“platform”:“MAC”,“javascriptEnabled”:true,“databaseEnabled”:false,“takesScreenshot”:true,“networkConnectionEnabled”:false,“warnings”:{},“desired”:{“platformVersion”:“8.1”,“deviceName”:“Zolani’s iPad (2)”,“browserName”:“safari”,“platformName”:“iOS”,“newCommandTimeout”:“999”},“platformVersion”:“8.1”,“deviceName”:“Zolani’s iPad (2)”,“platformName”:“iOS”,“newCommandTimeout”:“999”,“safari”:true},“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: --> POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/url {“url”:“http://10.9.4.183/test2.html",“sessionId”:"f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: [debug] [REMOTE] Navigating to new URL: “http://“10.9.4.183/test2.html
info: [debug] [REMOTE] Remote debugger data sent [{“method”:“Page.navigate”,“params”:{“objectGroup”:“console”,“includeCommandLineAPI”:true,“doNotPauseOnExceptionsAndMuteConsole”:true,“url”:“http://10.9.4.183/test2.html"},"id”:1}…]
info: [debug] [REMOTE] Debugger web socket received data: {“result”:{},“id”:1}
info: [debug] [REMOTE] Debugger got a message for ‘Page.navigate’ and have no handler, doing nothing.
info: [debug] [REMOTE] Waiting for frame navigated…
info: [debug] [REMOTE] frame navigated timeout triggered
info: [debug] [REMOTE] Frame navigated, calling cbs
info: [debug] [REMOTE] frame navigated in 0.504 sec.
info: [debug] [REMOTE] Waiting for dom…
info: [debug] [REMOTE] Page loaded, verifying whether ready through readyState
info: [debug] [REMOTE] Checking document readyState
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{“method”:“Runtime.evaluate”,“params”:{“objectGroup”:“console”,“includeCommandLineAPI”:true,“doNotPauseOnExceptionsAndMuteConsole”:true,“expression”:”(function (){return document.readyState;})()”,“ret…]
info: [debug] [REMOTE] Debugger web socket received data: {“result”:{“result”:{“type”:“string”,“value”:“complete”},“wasThrown”:false},“id”:2}
info: [debug] [REMOTE] readyState was complete
info: [debug] [REMOTE] Page is ready, calling onload cbs
info: [debug] Responding to client with success: {“status”:0,“value”:”",“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: <-- POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/url 200 2039.748 ms - 74 {“status”:0,“value”:"",“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: --> POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/element {“using”:“css selector”,“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”,“value”:"[id=“canvas”]"}
info: [debug] Waiting up to 0ms for condition
info: [debug] [REMOTE] Executing ‘find_element’ atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{“method”:“Runtime.evaluate”,“params”:{“objectGroup”:“console”,“includeCommandLineAPI”:true,“doNotPauseOnExceptionsAndMuteConsole”:true,“expression”:"(function(){return function(){function h(a){return…]
info: [debug] [REMOTE] Debugger web socket received data: {“result”:{“result”:{“type”:“string”,“value”:"{“status”:0,“value”:{“ELEMENT”:":wdc:1438150163532"}}"},“wasThrown”:false},“id”:3}
info: [debug] Responding to client with success: {“status”:0,“value”:{“ELEMENT”:“5000”},“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: <-- POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/element 200 64.759 ms - 90 {“status”:0,“value”:{“ELEMENT”:“5000”},“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: --> POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/element/5000/click {“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”,“id”:“5000”}
info: [debug] [REMOTE] Executing ‘click’ atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{“method”:“Runtime.evaluate”,“params”:{“objectGroup”:“console”,“includeCommandLineAPI”:true,“doNotPauseOnExceptionsAndMuteConsole”:true,“expression”:"(function(){return function(){function h(a){return…]
info: [debug] [REMOTE] Debugger web socket received data: {“result”:{“result”:{“type”:“string”,“value”:"{“status”:0,“value”:null}"},“wasThrown”:false},“id”:4}
info: [debug] Responding to client with success: {“status”:0,“value”:null,“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: <-- POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/element/5000/click 200 2960.015 ms - 76 {“status”:0,“value”:null,“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: --> POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/touch/perform {“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”,“actions”:[{“action”:“tap”,“options”:{“y”:200,“x”:100,“count”:1}}]}
info: [debug] Responding to client that a method is not implemented
info: <-- POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/touch/perform 501 2.590 ms - 158
info: --> POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/execute {“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”,“args”:[{“duration”:1000,“x”:268,“y”:190}],“script”:“mobile:“tap””}
info: [debug] [REMOTE] Executing ‘execute_script’ atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{“method”:“Runtime.evaluate”,“params”:{“objectGroup”:“console”,“includeCommandLineAPI”:true,“doNotPauseOnExceptionsAndMuteConsole”:true,“expression”:"(function(){return function(){var g=this;\nfunctio…]
info: [debug] [REMOTE] Debugger web socket received data: {“result”:{“result”:{“type”:“object”,“value”:{“status”:0,“value”:null}},“wasThrown”:false},“id”:5}
info: [debug] Responding to client with success: {“status”:0,“value”:null,“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: <-- POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/execute 200 82.497 ms - 76 {“status”:0,“value”:null,“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: --> POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/touch/perform {“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”,“actions”:[{“action”:“press”,“options”:{“y”:200,“x”:100}},{“action”:“wait”,“options”:{“ms”:500}},{“action”:“moveTo”,“options”:{“y”:300,“x”:200}},{“action”:“release”,“options”:{}}]}
info: [debug] Responding to client that a method is not implemented
info: <-- POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/touch/perform 501 1.368 ms - 158
info: --> POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/touch/perform {“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”,“actions”:[{“action”:“tap”,“options”:{“y”:200,“x”:268,“count”:1}}]}
info: [debug] Responding to client that a method is not implemented
info: <-- POST /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2/touch/perform 501 0.916 ms - 158
info: --> DELETE /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2 {}
info: Shutting down appium session
info: [debug] Stopping safariLauncher
info: [debug] Stopping iOS log capture
info: [debug] [REMOTE] Executing ‘execute_script’ atom in default context
info: [debug] [REMOTE] Sending javascript command
info: [debug] [REMOTE] Remote debugger data sent [{“method”:“Runtime.evaluate”,“params”:{“objectGroup”:“console”,“includeCommandLineAPI”:true,“doNotPauseOnExceptionsAndMuteConsole”:true,“expression”:"(function(){return function(){var g=this;\nfunctio…]
info: [debug] Running ios sim reset flow
info: [debug] Killing the simulator process
info: [debug] Killing any other simulator daemons
info: [debug] Killall iOS Simulator
info: [debug] [REMOTE] Debugger web socket received data: {“result”:{“result”:{“type”:“object”,“value”:{“status”:0,“value”:null}},“wasThrown”:false},“id”:6}
info: [debug] On a real device; cannot clean device state
info: [debug] Cleaning up appium session
info: [debug] Responding to client with success: {“status”:0,“value”:null,“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: <-- DELETE /wd/hub/session/f1c27707-7508-4d37-9386-8ce2c1424ce2 200 110.259 ms - 76 {“status”:0,“value”:null,“sessionId”:“f1c27707-7508-4d37-9386-8ce2c1424ce2”}
info: [debug] [REMOTE] Disconnecting from remote debugger

HI Adrian,

As per your attached log, your are using the Touch Action , Please switch to Selenium Action class instead of using Touch action.

I had also faced the same situation for Mobile Web in past and that was resolved successfully.

I hope it will help.

Hi Dharam,

Thanks for the reply. I used a different approach. I built up a string of javascript commands for mouse down and mouse up and dispatch events and then injected it using the browse.execute({commands string})

Thanks again for your solution.
Adrian