Appium sendKeys() Performance & Workaround

OK, I have been using Appium for all my mobile automation needs and the sendKeys performance on Android platform started to annoy me as the automation framework grew bigger, Jenkins takes a lot of time to build our android project.

For example, input of text performs 3,5 sec on average on real device, and this is for an average string, per inputbox.
I have tried to type text in alternative ways - using sendKeyEvent() method for all symbols in input text, but this method also proved to be ineffective.

Than i moved away from the framework and dived deep into adb. I can easily say that adb never lets you down :)
I am now refactoring our repo with the following command through adb:

adb shell input text 'testString'

With the help from adb, text input time dropped from average 3.5 sec average to 1 sec. And if your test target is heavily input independent, this workaround will save you a lot of computational time.

Happy Automation, Ciao!

Emir