このコードは、テキストボックスを見つけてテキストを送信することを目的としています。その場合、キーボードはAndroidデバイスに表示されます。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?
}
driver.hideKeyboard()
はAppiumDriver
でのみ機能します。この機能を含むJava-client-2.2.0.jarを使用しています。
最善の方法は、戻るボタンを使用することです。
driver.navigate().back(); // For older version of appium
Android Seleniumテストでキーボードを無効にする場合は、これらの必要な機能値を追加します。
capabilities.setCapability("unicodeKeyboard", true);
capabilities.setCapability("resetKeyboard", true);
driver.hideKeyboard();
を使用して何かを入力するたびにsendKeys()
を使用します。私にとっては完璧に機能します。
Appium1.0を使用してください
ライブラリを追加するか、Appiumのmaven依存関係を追加しますJava client:
<dependency>
<groupId>io.appium</groupId>
<artifactId>Java-client</artifactId>
<version>1.1.0</version>
</dependency>
次の方法でドライバーインスタンスを作成します。
AppiumDriver driver=null;
driver= new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
そして、次の関数を使用してキーボードを非表示にします。
driver.hideKeyboard();
public static AndroidDriver driver= null;
......
driver.hideKeyboard();
私の経験に基づいて完全に機能します
AppiumDriver
を使用していない人のための解決策:
((AppiumDriver)driver).hideKeyboard();
capabilities.setCapability("unicodeKeyboard", true);
capabilities.setCapability("resetKeyboard", true);
1.7.2でも動作し、1.8を想定しています