Enter "Enter key" in Appium Testing
24,054
Solution 1
Before using
((AndroidDriver)driver).pressKeyCode(AndroidKeyCode.ENTER);
Set the following desired capabilities
capabilities.setCapability("unicodeKeyboard", "true");
capabilities.setCapability("resetKeyboard", "true");
Solution 2
you can try this, it will work with all devices
driver.executeScript("mobile:performEditorAction", ImmutableMap.of("action", "done"));
Solution 3
Send using keyevent
Either use:
driver.press_keycode(66)
or
use
adb shell input keyevent 66
Author by
pratik03
Updated on November 27, 2021Comments
-
pratik03 over 2 years
How to send/press Enter key from soft keyboard in Appium in Android Automation testing?
I tried several options, but none of them are working - instead of pressing the key, they are clearing the text entered in text area. Below is the code (in JAVA Language):String app_package_name = "abc.xyz.android"; DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("deviceName", "Nexus_5X_API_23"); capabilities.setCapability("platformVersion", "6.0"); capabilities.setCapability("appPackage", app_package_name); capabilities.setCapability("appActivity", app_package_name + ".activity.StartupActivity_"); String url = "http://127.0.0.1:4723/wd/hub"; AndroidDriver driver = new AndroidDriver(new URL(url), capabilities); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); By password = By.id(app_package_name_with_id + "et_password"); WebElement enterPassword = driver.findElement(password); enterPassword.click(); driver.getKeyboard().sendKeys("12345"); driver.getKeyboard().sendKeys(Keys.ENTER); // THIS IS NOT WORKING. driver.getKeyboard().sendKeys(Keys.RETURN); // THIS IS ALSO NOT WORKING. driver.pressKeyCode(AndroidKeyCode.ENTER); // THIS IS ALSO NOT WORKING. driver.pressKeyCode(AndroidKeyCode.KEYCODE_NUMPAD_ENTER); // SAME HERE. enterPassword.sendKeys(Keys.ENTER); // SAME HERE.
Please if anyone can help me achieve it?