Appium IOS is not able to sendkey in customized keyboard

In our native app, developer have used customized keyboard for preventing typo error. when i try to sendkey in textfield, appium throws following error

Error Domain=com.facebook.WebDriverAgent Code=1 “Keyboard is not present” UserInfo={NSLocalizedDescription=Keyboard is not present}

However for default keyboard it works fine.

Any help/suggestion will be highly appreciated.

Thank you


Did you ever solve this issue? I have a similar problem atm


I dont think WedDriverAgent has sendKeyStrategy yet (please correct me if is has).

But for now maybe you can implement your own sendKeys, by splitting the text you want to send key by key and map it to a click on each key on your custom keyboard.

Yes I have done exactly this currently. Problem is, it takes a long time when the test is actually running.
Thanks for the tip though :slight_smile:

Not yet. Still looking for solution

We are using these two properties in our caps files. Would something like this help you?
sendKeyStrategy: ‘grouped’,
connectHardwareKeyboard: true,

Thank you Jmolliver, it works fine in Android still getting issues with IOS. Following is the log

[debug] [JSONWP Proxy] Got response with status 200: "{\n “value” : "Error Domain=com.facebook.WebDriverAgent Code=1 \“Keyboard is not present\” UserInfo={NSLocalizedDescription=Keyboard is not present}

Sounds like you’ll have to write your own sendKeys() method for that custom keyboard. If you perform a getPageSource() when the keyboard is up, can you see all the keys?

Yes i can see all these keys

How would I implement my own sendKeys strategy? Can you give an example?

Disable "Connect Hardware Keyboard’ option in your iOS simulator and try running your scripts.

Steps in this video:

What about the actual real device? I’ve tried all of these given solutions here and still observe the same issue. Is it real that we can’t use ‘sendKeys’ API in this special case?