Как ввести текст, отличный от ASCII, на устройство Android с помощью Appium?

Я искал Google / Stackoverflow / другие форумы, перепробовал множество способов, предложенных в этих сообщениях, но так и не смог найти ни одного работающего решения.
Мне нужно ввести текст, отличный от ASCII (иврит), используя приложение Appium to Android Native.
Просто smart.searchField.sendKeys("שלום חבר"); вызывает представление некоторых знаков Gibrish.
Помещение текста в буфер обмена с помощью

    String myString = "מה נשמע?";
    StringSelection stringSelection = new StringSelection(myString);
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
    clipboard.setContents(stringSelection, null);`

а затем попытка вставить текст с ((AndroidDriver)driver).pressKey(new KeyEvent(AndroidKey.PASTE)); в элемент вызывает исключение not implemented.

((AndroidDriver)driver).pressKey(new KeyEvent(AndroidKey.LANGUAGE_SWITCH)); ((AndroidDriver)driver).pressKey(new KeyEvent(AndroidKey.SWITCH_CHARSET));

Код выше ничего не делает.


person Prophet    schedule 04.08.2019    source источник


Ответы (1)


Я не могу воспроизвести вашу проблему, используя appium-java-client 7.1.0 и Appium Server 1.13.0

введите здесь описание изображения

Убедитесь, что для вашего свойства file.encoding установлено значение UTF-8 и если вы читаете текст на иврите из внешнего источника, он также сохраняется в кодировке UTF-8/Unicode.

Также это может быть проблема вашего приложения, т. е. ввод не позволяет вводить символы, отличные от ASCII, приложение живет по адресу http://d242m5chux1g9j.cloudfront.net/eribank.apk, пример проекта можно найти по адресу https://github.com/seetest-io/java-appium-first.-test/. Ознакомьтесь с Appium -> Примеры кода -> Java для получения дополнительной информации, если это необходимо

person Dmitri T    schedule 07.08.2019
comment
Спасибо Дмитрий. Мой defaultCharacterEncoding установлен на UTF-8, и приложение, которое мы тестируем, определенно использует ввод на иврите, в противном случае я бы предпочел использовать строки ввода на английском языке. - person Prophet; 08.08.2019
comment
Здравствуйте Дмитрий! После большой паузы я пытаюсь решить эту проблему и до сих пор не добился успеха. Если возможно, я хотел бы связаться с вами напрямую. - person Prophet; 19.02.2020