Select item from AutoCompleteTextView in uiautomator Select item from AutoCompleteTextView in uiautomator android android

Select item from AutoCompleteTextView in uiautomator


Get the cordinates of text field :

int x = element.getLocation().getX();int y = elmement.getLocation().getY();

Add values to get the right cordinates.

x = x+x1y = y+y1

Use tap function to click on it.

TouchAction action = new TouchAction(driver);

action.tap(x,y).perform();


first open the pick-up list, then try to use UiDevice.pressKey(), to send a DPAD_DOWN OR UP event and press Enter to select the item you want.


If you need to press the first element from the dropdown list, I have found a useful workaround:

public void selectFirstElement() {       TouchAction touchAction = new TouchAction(getAppiumDriver());       int xTapped = autoCompleteTextView.getLocation().getX() +  autoCompleteTextView.getSize().getWidth() / 2;       int yTapped = autoCompleteTextView.getLocation().getY() +  autoCompleteTextView.getSize().getHeight() ;       touchAction.tap(xTapped, yTapped).perform(); }

Given an AutoCompleteTextView declared as autoCompleteTextView, you can get the current location on the screen and calculate the item which is gonna be located below it. Hope it helps!