Как автоматизировать нажатие клавиш на эмуляторе Android на Mac с помощью робота? - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь автоматизировать несколько шагов на эмуляторе Android, используя драйвер эспрессо с appium.Существует всплывающее окно, которое появляется при попытке разрешить определение местоположения, которое не может видеть драйвер Espresso.В настоящее время я пытаюсь заставить пару вводить клики, используя следующий код:

Robot robot;
    try {
        robot = new Robot();
        robot.keyPress(java.awt.event.KeyEvent.VK_ENTER);
        robot.keyRelease(java.awt.event.KeyEvent.VK_ENTER);
    } catch (AWTException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

Но при использовании этого я получаю только следующую ошибку:

java[61315:813119] pid(61315)/euid(765933194) is calling TIS/TSM in non-main thread environment, ERROR : This is NOT allowed. Please call TIS/TSM in main thread!!!

Все это происходит наMacbook и мой тестовый код в IntelliJ с эмулятором, запущенным из Android StudioЯ попытался отключить сканер основного потока в xcode, но это не распространяется на IntelliJ или appium.Есть ли способ заставить меня проигнорировать эту проверку или заставить этот блок кода «основному потоку»?

1 Ответ

0 голосов
/ 30 января 2019

Если ваша проблема заключается в том, как пройти через диалоговое окно разрешения местоположения, вы можете использовать GrantPermissionRule , который позволяет предоставить разрешение в ваших тестах.

@Rule public GrantPermissionRule permissionRule = GrantPermissionRule.grant(android.Manifest.permission.ACCESS_FINE_LOCATION);
...