Я пытаюсь проверить авто браузера моей компании предполагают функциональные возможности для русского языка с UIAutomator и я бил загвоздка:Есть ли способ использовать UIAutomator для ввода букв кириллицы?
Там нет KeyEvent.KeyCode_ * Код для русских букв и UiDevice.pressKeyCode(KeyEvent.KEYCODE_LANGUAGE_SWITCH)
не появляется, чтобы помочь. Какая документация, которую я нашел внутри класса KeyEvent, кажется, предполагает, что мне просто нужно использовать те же ключевые коды, что и английские буквы, но волшебным образом они будут сопоставлены буквам других языков. Однако это не похоже на то, что я все еще вижу, как английское письмо появляется, когда я пытаюсь это сделать.
Обычно с русским языком я просто использую UiObject2.setText (...), но этот метод не вызывает автоматические предложения.
Я попытался углубиться в то, что делает и пытается пару обходных путей, таких как UiDevice.pressKeyCode:
KeyEvent eventsб2 = new KeyEvent(SystemClock.currentThreadTimeMillis(), "б", KeyCharacterMap.VIRTUAL_KEYBOARD, 0);
Instrumentation.sendKeySync(eventsб2);
или
KeyEvent[] eventsа = KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD).getEvents(new char[] {'a'});
Instrumentation.sendKeySync(eventsа[0]);
Но они либо не ввести букву или бросок исключение разрешения в отношении необходимости разрешения INJECT_EVENTS. В целом я чувствую, что споткнулся в темноте и хотел бы посоветовать, как действовать дальше.
Спасибо! Верхний код не работает сразу, но, вероятно, из-за того, что на моем устройстве клавиатура отличается от вашей. Попробует тестер Culebra, когда у меня есть момент, чтобы получить правильный пакет. –