Раньше чтобы ввести test делал так (нужно именно такой способ, НЕ sendkeys!)
driver.pressKeyCode(AndroidKeyCode.KEYCODE_T);
driver.pressKeyCode(AndroidKeyCode.KEYCODE_E);
driver.pressKeyCode(AndroidKeyCode.KEYCODE_S);
driver.pressKeyCode(AndroidKeyCode.KEYCODE_T);
Сейчас хочу сделать метод, передавать туда любую строку и нажимать по символам в строке
public void writeMessage(String text) {
char[] array = text.toCharArray();
int j = 0;
int [] arrayNew = new int[array.length];
arrayNew[j] = KeyCode.getKeyCode(array[j]);// тут ошибка да, не знаю как сделать
for (int i = 0; i < array.length; i++) {
driver.pressKeyCode(arrayNew[i]);
}
}
проблема в том не знаю как получить интовый KeyCode и у символа
Как можно поступить?
ну во первих KeyCode ни енама ни класса такого нету в Appium, каждое поля класса AndroidKeyCode ето int. Код Что ви хотели сказать етой строчкой тоже непонятно - arrayNew[j] = KeyCode.getKeyCode(array[j]);
Впринципи можно сделать через рефлексию
AndroidKeyCode.class.getField(“KEYCODE_” + String.valueOf(array[i]).toUpperCase())
но будет работать только для букв и цифр, для спецсимволов нужно костиль дописать