Запуск ключевого события без EditText из KeyboardView

#android #testing #android-espresso #ui-testing #android-instrumentation

#Android #тестирование #android-эспрессо #тестирование пользовательского интерфейса #android-инструментарий

Вопрос:

Стандартный способ запуска ключевого события может выглядеть следующим образом:

 onView(allOf(withId(R.id.edit_text), isDisplayed())).perform(ViewActions.pressKey(KeyEvent.KEYCODE_0));
  

Что делать, если нет целевого представления ( edit_text ), но есть пользовательская клавиатура с только прослушивателем setOnKeyboardActionListener ?

Комментарии:

1. вы хотите отправить ключевое событие на свою клавиатуру??

2. @user1506104 Я хочу сделать setOnKeyboardActionListener срабатывание.

Ответ №1:

Для меня это сработало, чтобы установить пользовательский android.inputmethodservice.KeyboardView для метода withId и для использования метода pressskey с KeyEvent.KEYCODE_NUMPAD_0 вместо KEYCODE_0:

 onView(allOf(withId(R.id.keyboardview), isDisplayed()))
    .perform(pressKey(KeyEvent.KEYCODE_NUMPAD_0));