Appium tip #2

The search button won't work!

I've encountered this problem where you won't be able to proceed with a search while automating some Android apps with Appium, and I've found some solutions that have worked in some cases and others in others. So I'm gonna lay them down here, they may be helpful for anyone finding himself with this problem.

First case, this is the standard solution. Here you simply input the text and send the Enter key:

driver.click(searchField);
driver.sendKeys(textValue);
driver.pressKey(new KeyEvent(AndroidKey.ENTER));

Second case. Here we append a line break at the end of the text we want to search. In most cases this will trigger the search. I find this to be simple and working most of the times:

driver.click(searchField);
driver.sendKeys(textValue + "\n");

Third case. The most rare one, is when the app specifically waits for a special kind of event, the EditorAction

driver.click(searchField);
driver.sendKeys(textValue);
driver.executeScript("mobile:performEditorAction", ImmutableMap.of("action", "search"));

I hope this can be helpful to anyone facing this issue. If I find another way in the future I will add it to the list.

#appium #automation #android