I’m using Appium 1.7.1 on SauceLabs, with Webdriver.io as my client bindings.
Edit 12/24/2017 : I am testing a mobile web page (not a native app).
I want to send the Shift Key + Left Arrow key multiple times (to highlight some text). I am using the browser.keys() method which hits the keys endpoint. When I try to do browser.keys(’\uE012’), a raising hand emoji appears, instead of moving the cursor to the left. When I try and enter the shift key (’\uE008’), it appears as a camera.
POST keys
{“value”:[“”,“”,“”,“”,“”,“”,“”,“”]}
Do I need to set some capability to use the keys mentioned here https://www.w3.org/TR/webdriver/ (17.4.2 Keyboard Actions) ?
I do see an xcui driver test that uses the spacespace keycode, https://github.com/appium/appium-xcuitest-driver/blob/master/test/functional/basic/element-e2e-specs.js#L274 , so I think it is possible to use SHIFT and ArrowLeft.
Appium Server Logs :
- [HTTP] --> POST /wd/hub/session/efc81fb0-1662-4b01-ac97-dc39e1fcb14e/keys {"value":["","","","","","","",""]}
2017-12-24 04:27:05:925 - [debug] [MJSONWP] Calling AppiumDriver.keys() with args: [["","","","","","","",""],"efc81fb0-1662-4b01-ac97-dc39e1fcb14e"]
2017-12-24 04:27:05:925 - [debug] [XCUITest] Executing command 'keys'
2017-12-24 04:27:05:930 - [debug] [JSONWP Proxy] Proxying [POST /wda/keys] to [POST http://localhost:8100/session/076EED8A-0989-4F0B-98D4-F7A3F80688BD/wda/keys] with body: {"value":["","","","","","","",""]}
2017-12-24 04:27:07:634 - [debug] [JSONWP Proxy] Got response with status 200: {"value":{},"sessionId":"076EED8A-0989-4F0B-98D4-F7A3F80688BD","status":0}
2017-12-24 04:27:07:635 - [debug] [MJSONWP] Responding to client with driver.keys() result: null
2017-12-24 04:27:07:635 - [HTTP] <-- POST /wd/hub/session/efc81fb0-1662-4b01-ac97-dc39e1fcb14e/keys 200 1710 ms - 76
Thank you.