Как убрать клавиатуру в appium с помощью Java?

Этот код предназначен только для поиска текстового поля и отправки ему некоторого текста. Когда он делает это, клавиатура появляется на устройстве 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?  
    }

Ответ 1

driver.hideKeyboard() будет работать только с AppiumDriver. Я использую java-client-2.2.0.jar, который содержит эту возможность.

Ответ 2

Лучший способ - использовать кнопку "Назад".

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

Ответ 3

Добавьте эти значения желаемых возможностей, если вы хотите отключить клавиатуру на своих тестах на селен.

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

Ответ 4

Пожалуйста, используйте Appium 1.0

Добавить библиотеки или добавить зависимость maven от клиента Appium Java:

<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();

Ответ 5

Я использую driver.hideKeyboard(); каждый раз, когда я использую sendKeys() для ввода чего-либо. Отлично работает для меня.

Ответ 6

public static AndroidDriver driver= null;
......

driver.hideKeyboard();

будет отлично работать на основе моего опыта

Ответ 7

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

Все еще работает с 1.7.2 и предполагая, что 1.8

Ответ 8

Решение для тех, кто не использует AppiumDriver:

((AppiumDriver)driver).hideKeyboard();