Question

This code just aims to find the textbox and send some text to it. When it does that the keyboard appears on the android device.How to dismiss it after the sendKeys.

@Test
    public static void test_demo() throws Exception {
        WebElement element = driver.findElement(By.id("mytextfield"));
        element.sendKeys("test");
        //how do I dismiss keyboard which appears on my android device after sendKeys?  
    }
Was it helpful?

Solution

driver.hideKeyboard() will only work with AppiumDriver. I am using java-client-2.2.0.jar that contains this capability.

OTHER TIPS

Best way is to use the back button.

driver.navigate().back(); // For older version of appium

Add these desired capabilities values if you want to disable the keyboard on your android selenium tests.

capabilities.setCapability("unicodeKeyboard", true);
capabilities.setCapability("resetKeyboard", true);

Please use Appium 1.0

Add libraries or add maven dependency of Appium Java client:

<dependency>
  <groupId>io.appium</groupId>
  <artifactId>java-client</artifactId>
  <version>1.1.0</version>
</dependency>

Create driver instance in the following way:

AppiumDriver driver=null;
driver= new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);

And use the following function to hide the keyboard:

driver.hideKeyboard();

I use driver.hideKeyboard(); every time I'm using sendKeys() to type something. Works perfectly for me.

Solution for those who are not using AppiumDriver:

((AppiumDriver)driver).hideKeyboard(); 
public static AndroidDriver driver= null;
......

driver.hideKeyboard();

will work perfectly based on my experience.

driver.hideKeyboard(); some times does not work. Because while running testcase keyboard not appear fast, So testcase fail. If I use Thread.sleep(5000); before hideKeyboard method, it's working very fine for me every time.

try {
    Thread.sleep(5000);
} catch (Exception e) {
    e.getMessage();
}
driver.hideKeyboard();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top